Javascript jQgrid:禁用复选框单击并仅在单击复选框时选择复选框

Javascript jQgrid:禁用复选框单击并仅在单击复选框时选择复选框,javascript,php,jquery,checkbox,jqgrid,Javascript,Php,Jquery,Checkbox,Jqgrid,我正在使用jqgrid的multiselect选项。我必须实现两种不同的功能 beforeSelectRow: function(rowid, e) { if( $("#jqg_TableId_"+rowid).attr("disabled") ){ return false; } return true; } return $(e.target).is('input[type=checkbox]'); }, 功能1: 我必须禁用复选框取决于某些条

我正在使用jqgrid的multiselect选项。我必须实现两种不同的功能

beforeSelectRow: function(rowid, e) { 
    if( $("#jqg_TableId_"+rowid).attr("disabled") ){
        return false;
    }
    return true; 
}
 return $(e.target).is('input[type=checkbox]');
},
功能1: 我必须禁用复选框取决于某些条件。为此,我在beforrowselect事件中使用下面的代码块

beforeSelectRow: function(rowid, e) {
    if( $("#jqg_TableId_"+rowid).attr("disabled") ){
        return false;
    }
    return true; 
}
该功能与这段代码配合得很好

beforeSelectRow: function(rowid, e) { 
   return $(e.target).is('input[type=checkbox]');
},
功能2:但问题是当我单击行中的任何位置时,复选框被选中,但复选框值不正确。当我在复选框区域内单击时,复选框的值是准确的。为此,我想限制用户准确地点击复选框区域以点击复选框。为此,我使用下面提到的代码块

beforeSelectRow: function(rowid, e) { 
   return $(e.target).is('input[type=checkbox]');
},
如果我单独使用任何一个块,那么对于该功能来说,它可以正常工作。 我需要实现这两个功能,但两个块都返回值。不可能同时返回两个条件的值。请帮助我如何实现这两个功能

下面是我必须实现的完整代码

beforeSelectRow: function(rowid, e) { 
    if( $("#jqg_TableId_"+rowid).attr("disabled") ){
        return false;
    }
    return true; 
}
 return $(e.target).is('input[type=checkbox]');
},

重要的是在每个问题中包括哪个版本的jqGrid和哪个fork(,或者版本中的旧jqGrid,beforeSelectRow for Disabled复选框select中的块按预期工作,但rowattr事件未按要求工作。整行在返回“class”时被禁用:“ui state disabled ui jqgrid disablePointerEvents”。只有在单击复选框区域时才需要选中复选框。@user2992704:是的,这是我所期望的。设置行禁用一次可以做两件事:向用户显示无法选择的行2)修复所有行的选择问题。我们可以使用其他一些预定义的类来代替:
ui子网格
jqgroup
jqfoot
。请参见,在选择行之前必须将
rowattr
两者结合起来。