0

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

我想要的是在列的组合框中进行更改时验证每 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");
});
4

1 回答 1

0

答案中,您将找到一个如何在 jqGrid 中实现依赖选择的示例。顺便说一句,您可以使用相同的想法formatter: "checkbox"。在这种情况下,实施会容易得多。您必须手动修改<select>元素或 chachboxes ,这一点很重要。

另一个答案可以显示您可以使用的另一种实现选项。

于 2012-07-07T11:04:39.137 回答