jqGrid传递值以进行表单编辑

时间:2012-09-14 13:43:10

标签: jquery jqgrid

我有一个jqGrid字段,我确定如下:

colModel: [
    ....,
    {name:'Enabled',index:'Enabled',width:45,editable:true,edittype:'checkbox',
        editoptions:{value:"1:0"},
        formatter: function (cellvalue, options, rowdata) {
            if (cellvalue == 0) return "<span class='ui-icon ui-icon-close hidden-align' style='text-align: center'></span>"; 
            else return "<span class='ui-icon ui-icon-check hidden-align' style='text-align: center'></span>";
        },align:'center',formatoptions:{disabled:false}},
],

问题是因为我将图像放在单元格值中,我如何传递给表单编辑值,以便当单元格值为true时复选框可以处于检查状态?

提前感谢所有人! 干杯, 路易

1 个答案:

答案 0 :(得分:1)

您可以使用

formatter: function (cellvalue, options, rowdata) {
    if (cellvalue == 0) {
        return "<span class=\"ui-icon ui-icon-close\"></span>";
    } else {
        return "<span class=\"ui-icon ui-icon-check\"></span>";
    }
},
edittype: 'checkbox', editoptions: {value:
    "<span class=\"ui-icon ui-icon-check\"></span>:<span class=\"ui-icon ui-icon-close\"></span>"}

或更好地使用editoptions: { value: ... ,但使用formatter内有以下值的false0,{{ 1}},nooff。请参阅jqGrid代码的the lines

undefined

解释。例如格式化程序

if(tmp.search(/(false|0|no|off|undefined)/i)<0 && tmp!=="") {
    $("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("checked",true);
    $("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("defaultChecked",true); //ie
} else {
    $("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("checked", false);
    $("#"+nm,"#"+fmid)[$t.p.useProp ? 'prop': 'attr']("defaultChecked", false); //ie
}

(没有formatter: function (cellvalue, options, rowdata) { if (cellvalue == 0) { return "<span class=\"ui-icon ui-icon-close\">0</span>"; } else { return "<span class=\"ui-icon ui-icon-check\">1</span>"; } } )可以解决您的问题。