jqGrid动态删除多行数据时出现的不完全删除问题
下面是错误的写法:
//获取选中行的id集合
var ids = $("#grid-table").jqGrid('getGridParam','selarrrow');
for(var i=0;i<ids.length;i++)
{
$("#grid-table").jqGrid('delRowData',ids[i]);
}
当选中的行数大于1时,就会出现有几行数据删除不干净的情况,这是因为遍历的问题,因为在删除的过程中,id集合ids的下标会随着删除而变化,这个就类似于Java的List集合,当你删除一条数据时,下一条数据的下标会往前移,所以必须对遍历过程作一些修改。下面是正确的写法:
var ids = $("#grid-table").jqGrid('getGridParam','selarrrow');
var len = ids.length;
for(var i=0;i<len;i++)
{
$("#grid-table").jqGrid('delRowData',ids[0]);
}