JqG​​rid - 在行单击时阻止复选框检查事件并启用行突出显示

Nip*_*una 6 jquery jqgrid

我有一个启用了多选的jqgrid.但是当我点击该行时,我不想检查复选框.

使用代码段

$("#yourGrid").jqGrid("setGridParam", {
    beforeSelectRow: function(rowId, e) {
       return $(e.target).is("input:checkbox");
    }
});
Run Code Online (Sandbox Code Playgroud)

这篇文章我能够避免选择复选框,但现在我不能突出显示一个特定的行.如何启用行的突出显示,在禁用行单击时保持多选.

Dis*_*ame 3

根据API,网格上有一个属性可以为您执行此操作。

multiboxonly
Run Code Online (Sandbox Code Playgroud)

仅当多选选项设置为 true 时,此选项才有效。当 multiselect 设置为 true 时,单击行上的任意位置会选择该行;当 multiboxonly 也设置为 true 时,仅在单击复选框时才进行多重选择(雅虎风格)。单击任何其他行(假设未单击该复选框)将取消选择所有行并选择当前行。

有了这个你就不需要你的beforeSelectRow功能了:

jQuery("#grid").jqGrid({
     . . .
     multiselect: true,
     multiboxonly: true
     . . .
});
Run Code Online (Sandbox Code Playgroud)