今天在做项目的时候遇到了一个需求,就是根据状态去判断checkbox是否可用,百度了好多都没有用,所以自己研究并分享出来:
html代码:
<table id="tzml_dataList" width="90%" rownumbers="true"
data-options="
iconCls: 'icon-edit',
loadMsg: null,
fitColumns: true,
nowrap:true,
method: 'get',
scrollbarSize:0,
onClickRow: tzmlEdit">
<thead data-options="frozen:true">
<thead>
<tr>
<th data-options="field:'ck',checkbox:true"></th>
<th data-options="field:'px',halign:'center',align:'center',width:27,formatter:getPxh">序号</th>
<th data-options="field:'RQ',width:50,halign:'center',align:'center',
editor:{type:'datebox',options:{required:true}}">日期</th>
<th data-options="field:'fj',width:200,align:'center',halign:'center',formatter:getHtml">目录</th>
</tr>
</thead>
</table>
js代码:
//数据加载成功之后去处理checkbox
$("#"+id).datagrid({rownumbers:false,onLoadSuccess:function(data){
$("#"+id).datagrid('doCellTip',{cls:{'background-color':'white','font-size':14},delay:100});
if(id=="tzml_dataList"){
if (data.rows.length > 0) {
//循环判断操作为新增的不能选择
for (var i = 0; i < data.rows.length; i++) {
//根据isFinanceExamine让某些行不可选
if (data.rows[i].ZT == "3") {
$("input[type='checkbox']")[i + 1].disabled = true;
}
}
}
}
}}).datagrid('loadData',dataListJson);
//行点击事件
function tzmlEdit(index,rowData){
var chechs = $("input[type='checkbox']");
for(var j=0;j<chechs.length;j++){
var el = chechs[j].disabled;
if(el==true){
$('#tzml_dataList').datagrid('unselectRow',j);
$('#tzml_dataList').datagrid('uncheckRow',j);
if(j==index){
return;
}
}
}
editData(index,"tzml_dataList");
}