jqgrid在colModel中多次调用同一个字段值

时间:2023-03-09 03:26:02
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值就写成那样了。。