我正在编写自定义复选框格式化程序,但我无法理解offval
属性的用途和值应该是什么。
特别是在设置editoptions的值时。例如editoptions: { value:"Yes:No" }
我可以看到默认的复选框格式化程序始终将offval
设置为no
。此api documentation表示它也可以设置为off
。在代码中我也看到该值可以设置为editoptions的第二个值。如果示例为No
,但这可以是任何提供的值。
那么如何为复选框格式化程序实现offval属性?提前谢谢!
答案 0 :(得分:0)
我认为您不需要在自定义复选框格式化程序中设置任何offval
属性。如果使用edittype: "checkbox"
,jqGrid会设置属性本身(请参阅the part of code)。因此,在我看来您不需要在custom formatter或custom editing control中设置offval
,如果您也创建它。
顺便提一下,当我发布formatter: "clickableCheckbox"的代码时,我遇到了和你一样的问题。我没有理解offval
的意思,我只是在代码中包含了offval="no"
。 :-)。我不认为它有任何意义,但确定必须测试所有原因。
如果您编写多次使用的自定义格式化程序,我建议您使用
(function ($) {
"use strict";
$.extend($.fn.fmatter, {
yourFormatterName: function (cellValue, options) {
....
}
});
$.extend($.fn.fmatter.yourFormatterName, {
unformat: function (cellValue, options, elem) {
...
}
});
}(jQuery));
作为格式化程序的原型。在这种方式中,您将注册新的格式化程序" yourFormatterName"您可以像使用其他任何predefined formatters一样使用它:您只需在相应列的列定义中使用formatter: "yourFormatterName"
而不是formatter: "checkbox"
。我发现这种方式非常实用。