jqgrid在colModel中多次调用同一个字段值
Debug:
代码1:
{ name : 'input', index : 'input', width : 100, align : "center", formatter : function(value, grid, rows, state) { // alert(rows.ID); return "<a href=\"javascript:void(0)\" style=\"color:#798991\" onclick=\"selectInput('" + rows.ID + "')\">输入参数添加</a>" } }
colModel的一个元素,表示一列。之类需要调用该行中的ID字段,原来的写法是将name写成ID
selectInput('" + rows.ID + "')中的rows.ID写成value,这样来调用ID值的,可是已经有了ID列,这样的话,后面有个删除函数需要调用ID
代码2:
function deleteAlgorithm() { var sels = $("#AlgorithmList").jqGrid('getGridParam','selarrrow'); if(sels==""){ //$().message("请选择要删除的项!"); alert("请选择要删除的项!"); }else{ var selectedIDs={}; $.each(sels,function(i,n){ if(sels[i]!=""){ var rowData = $("#AlgorithmList").jqGrid("getRowData", sels[i]); selectedIDs["ids[" + i + "]"]=rowData.ID; // alert(rowData.ID); } }); if(confirm("您是否确认删除?")){ $.ajax({ type: "POST", url: "delAlgorithmsCycle.action", data: selectedIDs, beforeSend: function() { $().message("正在请求..."); }, error:function(){ $().message("请求失败..."); }, success: function(msg){ alert("删除成功!"); $("#AlgorithmList").trigger("reloadGrid"); if(msg!=0){ var arr = msg.split(','); $.each(arr,function(i,n){ if(arr[i]!=""){ $("#AlgorithmList").jqGrid('delRowData',n); } }); $().message("已成功删除!"); }else{ $().message("操作失败!"); } } }); } } }
这样在上面标红的rowData.ID来获取ID值就会出问题,因为有两个,它会默认获得第二个ID的值。
为了区分,所以代码1中需要调用ID值就写成那样了。。