Offval属性自定义复选框格式化程序jqGrid

Offval属性自定义复选框格式化程序jqGrid,jqgrid,Jqgrid,我正在编写一个自定义复选框格式化程序,我很难理解offval属性用于何处以及它的值应该是什么 尤其是设置了editoptions的值时。例如editoptions:{value:“Yes:No”} 我可以看到默认的复选框格式化程序总是将offval设置为no。这表示它也可以设置为off。在代码中,我还看到该值可以设置为editoptions的第二个值。在示例中为No,但这可以是任何提供的值 那么,如何实现复选框格式化程序的offval属性呢?提前谢谢 我认为您不需要在自定义复选框格式化程序中设置

我正在编写一个自定义复选框格式化程序,我很难理解
offval
属性用于何处以及它的值应该是什么

尤其是设置了editoptions的值时。例如
editoptions:{value:“Yes:No”}

我可以看到默认的复选框格式化程序总是将
offval
设置为
no
。这表示它也可以设置为
off
。在代码中,我还看到该值可以设置为editoptions的第二个值。在示例中为
No
,但这可以是任何提供的值


那么,如何实现复选框格式化程序的offval属性呢?提前谢谢

我认为您不需要在自定义复选框格式化程序中设置任何
offval
属性。如果使用
edittype:“复选框”
(请参阅),jqGrid将设置属性本身。因此,在我看来,如果您也创建了
offval
,则不需要在中或中设置它

顺便说一句,在我发布代码的时候,我和你有同样的问题。我不理解
offval
的意思,我只是在代码中加入了
offval=“no”
:-。我不认为这有任何意义,但可以肯定的是,我们必须测试所有的原因

如果您编写了多次使用的自定义格式化程序,我建议您使用

(函数($){
“严格使用”;
$.extend($.fn.fmatter{
YourFormaterName:函数(单元格值、选项){
....
}
});
$.extend($.fn.fmatter.yourFormaterName{
未格式化:函数(单元格值、选项、元素){
...
}
});
}(jQuery));

作为格式化程序的原型。按照注册新格式设置程序“yourFormatterName”的方式,您可以像其他格式设置程序一样使用它:只需在相应列的列定义中使用
格式设置程序:“yourFormatterName”
而不是
格式设置程序:“checkbox”
。我觉得这种方法非常实用。

我已经使用了您提供的格式:-)。完成后将发布我的格式化程序,首先需要澄清offval属性。我看到@MartijnB这里也在使用它:您引用了表单编辑的代码。表单中的控件是由我在回答中引用的
createEl
函数创建的。因此,如果使用
edittype:“checkbox”
将根据返回
unformat
函数的值设置
offval
。所以我仍然认为格式化程序中不需要或不使用
offval
属性。我开始相信你是对的。但是我不明白为什么默认的复选框格式化程序包含offval。@MartijnB:我认为每个程序都可以改进。:-)jqGrid也将得到永久性的改进。我将这个问题暂时搁置到下周,否则我将把这个问题标记为您的回答——我目前的进展情况-