下面是錯誤的寫法:
//獲取選中行的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]); }
