jqgrid删除多行数据,删不全的解决方案

功能实现:

 删除选中的多条数据

bug:

  总是删不干净,比如选中5条执行删除操作,后台全删掉了,可是前台仍然有剩余的几条,再次刷新会不见

错误代码


var ids = $("#grid-table").jqGrid("getGridParam", "selarrrow");// 获取选中的数据行id // 删除多行数据 for(var i = 0; i < ids.length ;i++){ $("#grid-table").jqGrid('delRowData', ids[i]); } // 重新加载数据 $("#grid-table").jqGrid('setGridParam').trigger("reloadGrid"); // 操作成功 $('#alert-success').css("display", "block")

 分析:

ids数组的长度会变化,引起获取到的id不对应,所以删不掉

解决方案:

将获取到的ids的长度固定,每次删除数组的第一个

正确代码:

 var ids = $("#grid-table").jqGrid("getGridParam", "selarrrow");// 获取选中的数据行id
  var len = ids.length;

// 删除多行数据
for(var i = 0; i < len ;i++){
   $("#grid-table").jqGrid('delRowData', ids[0]);
}

// 重新加载数据
$("#grid-table").jqGrid('setGridParam').trigger("reloadGrid");
// 操作成功
$('#alert-success').css("display", "block")

 

以上。

 

posted @ 2017-08-07 15:13  在路上的牛小牛  阅读(338)  评论(0编辑  收藏  举报