jQuery easyui dataGrid checkbox反显的值取不到
使用jQuery easyui dataGrid checkbox反显后通过
var arr = $('#butnSource').datagrid( 'getSelections');
var arr1 = $('#butnSource' ).datagrid('getSelected');
通过以上的方法取不到反显的值。
解决方案 :
$( '#butnSource').datagrid({ url : 'sourceAction.do?method=getSingleFunctionSource&function_id=' +node.id+'&role_id='+role_id,
nowrap : false,
lines : false,
collapsible : false,//折叠所有节点
idField : 'source_code',//数据表格要有主键
treeField : 'source_name', //treegrid 问价夹名称
fitColumns : true,
checkbox : true,
singleSelect: false,//需设置
columns : [ [
{
field: 'ck',
title: '全选',
checkbox: true//必须设置
},{
field : 'source_name',
width : 100,
title : '资源名称'
} ,
{
field : 'source_code',
width : 100,
title : '资源编码' ,
} ] ],
onLoadSuccess:function(data){ //这段必须加上 否则反显的值取不到
if (data){
$.each(data.rows, function (index, item){
if(item.checked){
$( '#butnSource').datagrid('checkRow' , index);
}
});
}
}
});
通过上面的代码我们很清楚的看到下面绿色的部分就是我给出的处理。
我们的 JSON 数据里有个字段是「checked」,这个字段的数据 true / false 就是用来设定 Checkbox 是否勾选,而设定的动作必须要在 DataGrid 加载数据完成后再去执行,这边会使用到 jQuery 的 each 去逐一检查每个数据列的的数据内容,假如 checked 为 true,那就使用「checkRow」这个 Method 将该数据列的 Checkbox 设为勾选的状态。
希望对你的工作有所帮助。。。。如有疑问欢迎留言。。。。。。。