JQGrid:dataEvents更改中的依赖项下拉列表

JQGrid:dataEvents更改中的依赖项下拉列表,events,drop-down-menu,jqgrid,dependencies,onchange,Events,Drop Down Menu,Jqgrid,Dependencies,Onchange,我正在开发一个网格,其中包含每个模块的许可列表 我想要的是在列中的组合框中进行更改时,每2个事件验证一次。我使用1和0来激活/停用 第一种情况:如果我激活“写入”、“修改”、“删除”或“打印”,则表示自行选择“读取” 第二种情况正好相反:如果禁用“读取”,将自动关闭“写入”、“修改”、“删除”和“打印” 通过研究,我找到了使用输入事件函数的选项: {"name":"read", "index":"read", "width":48, "resizable":false, "editable"

我正在开发一个网格,其中包含每个模块的许可列表

我想要的是在列中的组合框中进行更改时,每2个事件验证一次。我使用1和0来激活/停用

第一种情况:如果我激活“写入”、“修改”、“删除”或“打印”,则表示自行选择“读取”

第二种情况正好相反:如果禁用“读取”,将自动关闭“写入”、“修改”、“删除”和“打印”

通过研究,我找到了使用输入事件函数的选项:

{"name":"read",
"index":"read",
"width":48,
"resizable":false,
"editable":true,
"edittype":"select",
"editoptions":{
  "value":"0:0;1:1",
  "dataEvents":[{
               "type":"change",
                "fn":function(e){
                     if($(e.target).val() == '0')
                     {
                     // actions here...
                     }
                 }
               }]
 }
}
您可以更改其他列的元素。。。按排

编辑

我的解决方案:

$('tr.jqgrow select[name*="read"]').live("change",function()
{   
    if($(this).val() === '0') $(this).closest('tr.jqgrow').find('select.editable').not(this).find('option:first-child').attr("selected", "selected");
});

$('tr.jqgrow select[name!="read"]').live("change",function()
{
    $(this).closest('tr.jqgrow').find('select[name*="read"]').find('option:last-child').attr("selected", "selected");
});
在中,您将看到一个如何在jqGrid中实现依赖选择的示例。顺便说一句,您可以对格式化程序使用相同的想法:“复选框”。在这种情况下,实施将容易得多。必须手动修改
元素或chachbox,这一点很重要


您可以展示另一个您可以使用的实施选项吗。

感谢您的回复,我阅读了有关国家和州的主题。。。但是我看到使用的代码非常广泛,对于我发布的第二个案例,还必须在每个字段中复制相同的函数。我用自己的解决方案编辑了我的问题,这些解决方案适合我的需要。Thanks@csotelo当前位置我写信告诉你,在你的情况下,解决办法会容易得多。重要的是您必须手动更改
元素或复选框。在关于国家和州的主题中,应根据在另一列中选择的值构建下一个选择列表。如果只选择“0”和“1”,我继续建议您使用复选框而不是选择框。现在,关于问题“编辑”部分的代码。
dataEvents
使用的
live
不如
bind
有效。此外,第n个子项(4),
不是(这)
等的使用使得代码不够常见。@csotelo:所有内联编辑选项都有ID,其构造类似于
3\u read
,其中
3
是行ID,
'read'
是列中的
名称。或者,您可以搜索“按属性选择”
name=“read”
。它的代码可读性更高,并且独立于对
colModel
的小修改(例如插入新列或使用
rownumbers:true
选项)。好的,我将继续研究相关解决方案并编辑我的回答。我已经更改了使用选择器的功能,这些选择器引用了选择列表的id。也许这些相同的逻辑可以用于每个组合框列。您可以在dataEvents中使用外部函数?在哪里我可以使用与我的解决方案类似的东西?