jqGrid-禁用单个内联复选框?

jqGrid-禁用单个内联复选框?,jqgrid,Jqgrid,我有一个网格,其中一列 。。。格式化程序:“复选框”,编辑类型:“复选框”,格式化选项:{disabled:false} 我想根据同一行的其他列切换禁用的值。结果将是一个带有一些启用和一些禁用复选框的网格 这可能吗 我尝试将一个函数放入formatoptions值-formatoptions:{disabled:somefunction}中,但它在表加载时只被调用一次,似乎不接受任何参数。我以前遇到过这个问题。我没有在formatoptions中实现自定义函数,而是在loadComplete事件

我有一个网格,其中一列

。。。格式化程序:“复选框”,编辑类型:“复选框”,格式化选项:{disabled:false}

我想根据同一行的其他列切换禁用的值。结果将是一个带有一些启用和一些禁用复选框的网格

这可能吗


我尝试将一个函数放入formatoptions值-formatoptions:{disabled:somefunction}中,但它在表加载时只被调用一次,似乎不接受任何参数。

我以前遇到过这个问题。我没有在formatoptions中实现自定义函数,而是在loadComplete事件中循环网格的每一行,并根据另一列的值启用/禁用复选框。退房


第三列中的所有复选框都基于第二个名称列的值。

我建议您使用或注册自定义格式设置程序,如或中所述,并调用其中的原始自定义格式设置程序:

功能${ 严格使用; $.extend$.fn.f格式{ yourFormatterName:函数cellValue、选项、, 行对象、动作{ //调用格式化程序:复选框 返回$.fn.fmatter.callthis,复选框, 单元格值、选项、行对象、操作; } }; $.extend$.fn.fmatter.YourFormaterName{ 未格式化:函数单元格值、选项、元素{ var cbv=options.colModel.editoptions!=null&& typeof options.colModel.editoptions.value==字符串? options.colModel.editoptions.value.split:: [是,不是]; ret=$input,元素为:选中?cbv[0]:cbv[1]; } }; }jQuery; 在调用原始格式化程序之前,您可以更改options.colModel的任何属性:

yourFormatterName:函数cellValue、选项、行对象、操作{ var myValue=true、//或false动态值 newOptions=$.extendtrue{ colModel:{formatoptions:{disabled:myValue}} }, 选择权; 返回$.fn.fmatter.callthis、复选框、cellValue、newOptions、rowObject、, 行动 }
where

Hello@Oleg我刚试着做了些小改动。这似乎不再管用了。也许免费jqGrid版本中发生了一些变化。你有空的时候能看一下吗?谢谢。@DipenShah:最好你能分享你试过的代码。。。无论如何,我为您创建了一个演示,我使用了答案和格式化程序中包含的确切代码:yourFormatterName。非常感谢@Oleg。我有一个简单的误解,并在我的代码中做了一个简单的打字错误,我通过查看您的演示修复了这个错误。你帮了大忙。再次感谢。