我有一个启用了多选的 jqgrid。但是当我单击该行时,我不想选中该复选框。
使用代码片段
$("#yourGrid").jqGrid("setGridParam", {
beforeSelectRow: function(rowId, e) {
return $(e.target).is("input:checkbox");
}
});
从这篇文章中,我能够避免选择复选框,但现在我无法突出显示特定行。如何启用行的突出显示,同时禁用行单击时的多选。
根据API ,网格上有一个属性应该为您执行此操作。
multiboxonly
此选项仅在多选选项设置为 true 时有效。当 multiselect 设置为 true 时,单击行上的任意位置会选择该行;当 multiboxonly 也设置为 true 时,只有在单击复选框时才会进行多选(雅虎风格)。单击任何其他行(假设未单击复选框)取消选择所有行并选择当前行。
有了这个,你不应该需要你的beforeSelectRow
功能:
jQuery("#grid").jqGrid({
. . .
multiselect: true,
multiboxonly: true
. . .
});