【发布时间】:2015-06-01 04:36:41
【问题描述】:
使用带有multiSelect="true" 选项的jqgrid。我正在禁用行并根据下面提到的某些标志状态阻止其选择
根据IS_FLAGGEd = 1禁用行
//disable row which are flagged
rowattr: function (item) {
if (parseInt(item.IS_FLAGGED) == 1) {
return {"class": "ui-state-disabled ui-jqgrid-disablePointerEvents"};
}
},
//prevent selection of disabled rows
beforeSelectRow: function (rowid, e) {
if ($(e.target).closest("tr.jqgrow").hasClass("ui-state-disabled")) {
return false; // not allow select the row
}
return true; // allow select the row
}
禁用标题复选框,在下面的代码中实现,但即使禁用了一行,它也会禁用标题复选框。
//disable header checkbox only if all rows are disabled
loadComplete: function() {
var grid = $("#grid");
var ids = grid.jqGrid('getDataIDs');
for(var i=0;i < ids.length;i++){
var rowId = ids[i];
var rowData = jQuery('#grid').jqGrid ('getRowData', rowId);
console.log(rowData.SUBMIT_TO_ACC);
if(rowData.FLAG_STATUS == 1){
$('tr.ui-jqgrid-labels').addClass('ui-state-disabled ui-jqgrid-disablePointerEvents');
}
}
}
我怎样才能禁用标题复选框(multiselect = true),只有当ALL行被禁用时,即hasClass(ui-state-disabled)?
jQgrid 版本 = 4.6
jQuery 版本 = 1.7.2
【问题讨论】: