jqgrid复选框可选择,即使beforeSelectRow返回false

jqgrid checkbox selectable even when beforeSelectRow returns false

本文关键字:beforeSelectRow 返回 false 即使 复选框 可选择 jqgrid      更新时间:2023-09-26

在启用多选的jqgrid中,即使beforeSelectRow返回false,复选框也保持可选中状态。这是一个错误吗?如果是,有解决方法吗。

$("#grid").jqGrid({
    beforeSelectRow: function(rowid, e) {
        return false;
    }

此处的用例:http://jsfiddle.net/erduT/1/http://jsfiddle.net/erduT/2/

请提供建议。

这并不完全是一个错误,beforeSelectRow在这种情况下禁用了行的选择,而不是复选框的选择。这一点在你的小提琴中很明显,因为这一行本身并没有突出显示。因此,在beforeSelectRow函数中,您必须自己禁用任何其他UI元素。

Ex。

beforeSelectRow: function(rowid, e) {
    $('#jqg_grid_' + rowid).attr("disabled", "disabled");
    return false;
},

使用全选/无复选框时,可以使用onSelectAll事件。

参数:aRowids,状态

当multiselect选项为true,然后单击标题复选框。

aRowids-所选行的数组(rowid's)。

status-确定表头复选框状态的布尔变量-如果选中则为true,如果未选中则为false。

请注意,当选中或取消选中标头复选框时,aRowids总是包含id

Ex。

onSelectAll: function(aRowids,status) {
     if (status) {
          $.each(aRowids, function(i, rowid) {
               $('#jqg_grid_' + rowid).attr("disabled", "disabled");
          });
     }
},