在启用了多选的jqgrid中,即使beforeSelectRow返回false,该复选框仍然是可检查的。这是一个错误,如果是这样,有一个解决方法。
$("#grid").jqGrid({
beforeSelectRow: function(rowid, e) {
return false;
}
这里的用例: http://jsfiddle.net/erduT/1/ http://jsfiddle.net/erduT/2/
请建议。
答案 0 :(得分:2)
这不完全是一个错误,在这种情况下,在选择之前禁止选择行,而不是选中复选框。这一点在您的小提琴中很明显,因为行本身不会突出显示。因此,在您的beforeSelectRow函数中,您将不得不自己禁用任何其他UI元素。
实施例
beforeSelectRow: function(rowid, e) {
$('#jqg_grid_' + rowid).attr("disabled", "disabled");
return false;
},
使用Select All / None复选框可以使用 onSelectAll 事件。
Params:aRowids,status
当多选项选项为时,此事件将触发 单击true并单击标题复选框。
aRowids - 所选行(rowid)的数组。
status - 确定标题状态的布尔变量复选框 - 如果选中则为true,否则为false。
请注意,当选中或取消选中标题复选框时,aRowids总是包含ID。
实施例
onSelectAll: function(aRowids,status) {
if (status) {
$.each(aRowids, function(i, rowid) {
$('#jqg_grid_' + rowid).attr("disabled", "disabled");
});
}
},