jsp:
<div id="fpqx_sub_Dialog" class="easyui-dialog" style="width: 470px; height: 500px; padding: 10px 20px" title="信息" data-options="closed:true,modal:true,buttons:'#fpqxDialogButtonsSub',resizable:true">
<input type="hidden" name="roleIdQxSub" id="roleIdQxSub"/>
<table id="submenu_tt" checkbox="true" >
<thead>
<tr>
<th field="showName" formatter="fmtauthtype">子菜单</th>
<th field="authId" >权限ID</th>
<th field="authRemark" >权限描述</th>
</tr>
</thead>
</table>
</div>
com.js:
$.extend($.fn.treegrid.methods, {
//iscontains是否包含父节点(即子节点被选中时是否也取父节点)
getAllChecked: function (jq, iscontains) {
var keyValues = new Array();
/*
tree-checkbox2 有子节点被选中的css
tree-checkbox1 节点被选中的css
tree-checkbox0 节点未选中的css
*/
var checkNodes = jq.treegrid("getPanel").find(".tree-checkbox1");
for (var i = 0; i < checkNodes.length; i++) {
var keyValue1 = $($(checkNodes[i]).closest('tr')[0]).attr("node-id");
keyValues.push(keyValue1);
}
if (iscontains) {
var childCheckNodes = jq.treegrid("getPanel").find(".tree-checkbox2");
for (var i = 0; i < childCheckNodes.length; i++) {
var keyValue2 = $($(childCheckNodes[i]).closest('tr')[0]).attr("node-id");
keyValues.push(keyValue2);
}
}
return keyValues;
}
});
use.js:
var menuIds = $("#submenu_tt").treegrid("getAllChecked", true);
展示treegrid并选中已有权限:
var ids = "权限列表,逗号分隔";
$("#submenu_tt").treegrid("clearChecked");
if(ids){
var execIds=ids.split(",");
if(execIds){
for(i=0;i<execIds.length;i++){
try{
$("#submenu_tt").treegrid("checkNode",execIds[i]);
}catch(e){}
}
}
}