var really_row = new Array(); var price_rows = $('#manage_price_datagrid').datagrid('getRows'); really_row = price_rows; for(var priceIndex in really_row){ if(really_row[priceIndex].isTag){ var deleteIndex= $('#manage_price_datagrid').datagrid('getRowIndex',really_row[priceIndex]) console.log(deleteIndex); $('#manage_price_datagrid').datagrid('deleteRow', deleteIndex); } }数据有两条为什么只删除了一条数据
时间: 2024-03-09 17:49:37 浏览: 13
根据你提供的代码,以及数据只删除了一条的情况来看,有可能是因为在删除第一条数据时,导致 `price_rows` 数组中的数据发生了变化,从而影响了后续的遍历和删除操作。
为了避免这个问题,可以先将需要删除的行的索引记录下来,然后再一次性删除所有行,例如:
```javascript
var deleteIndexes = []; // 记录需要删除的行的索引
var priceRows = $('#manage_price_datagrid').datagrid('getRows');
for (var i = 0; i < priceRows.length; i++) {
if (priceRows[i].isTag) {
deleteIndexes.push(i);
}
}
// 一次性删除所有需要删除的行
for (var j = deleteIndexes.length - 1; j >= 0; j--) {
$('#manage_price_datagrid').datagrid('deleteRow', deleteIndexes[j]);
}
```
这样做可以避免在遍历时修改数组导致的问题。
相关问题
var really_row = new Array(); var price_rows = $('#manage_price_datagrid').datagrid('getRows'); really_row = price_rows; for(var priceIndex in really_row){ if(really_row[priceIndex].isTag){ var deleteIndex= $('#manage_price_datagrid').datagrid('getRowIndex',really_row[priceIndex]) console.log(deleteIndex); $('#manage_price_datagrid').datagrid('deleteRow', deleteIndex); } }只删除了一条
这段代码看起来是在使用 jQuery EasyUI 的 Datagrid 控件进行数据操作。具体来说,代码中通过 `$('#manage_price_datagrid').datagrid('getRows')` 获取到了 Datagrid 中的所有行数据,并将它们赋值给了 `price_rows` 数组。然后通过遍历这个数组,找到 `isTag` 属性为真的行,并使用 `$('#manage_price_datagrid').datagrid('deleteRow', deleteIndex)` 方法从 Datagrid 中删除这些行。
至于你的问题,我并不是很清楚你想要表达的意思。可以再提供一些上下文或者具体的问题吗?
var price_rows = $('#manage_price_datagrid').datagrid('getRows'); price_rows.forEach(function(price_row) { if(price_row.isTag != null){ $('#manage_price_datagrid').datagrid('deleteRow', $('#manage_price_datagrid').datagrid('getRowIndex',price_row)); } });为什么只删除了第一天
根据你提供的代码,无法确定为什么只删除了第一行。不过,这段代码的功能是从名为 "manage_price_datagrid" 的 DataGrid 中删除具有 "isTag" 属性的行。如果只删除了第一行,可能有以下原因:
1. 只有第一行具有 "isTag" 属性,其他行没有该属性。
2. 在删除第一行后,DataGrid 的行数发生了变化,导致后面的行无法正确获取索引。
你可以通过使用控制台输出调试语句来检查这些变量和操作,以更好地理解代码的执行过程和问题所在。