欢迎
js代码
在网上找了好多,不如自己来的划算啊。
function showCategory(){
var id=0;
$('#tt').tree({
checkbox: true,
cascadeCheck:false,
url: '/comp/companyMenu',
onBeforeExpand:function(node,param){
$('#tt').tree('options').url = "/comp/companyMenu?id=" + node.id;
},onClick: function(node){
var check=node.checked;
if(check==false){//复选框没有选中时单击选中
$("#tt").tree("check", node.target);
}else{//选中时就取消选中
$("#tt").tree("uncheck", node.target);
}
},onSelect: function (node) {//选择项复选框选中
var checkedNode = $('#tt').tree('getChecked');
if (checkedNode != null && checkedNode.length > 0) {
$.each(checkedNode, function (index, value) {
$('#tt').tree('uncheck', value.target);
})
}
}
});
}
js代码
public void companyMenu(){
Integer id=getParaToInt("id");
if(id==null)
id=0;
renderJson(TreeNodeUtil.getNodesById(id));
}
Service
public static List<Record> getNodesById(int id){
Company dao=new Company();
String sql="select id id,name text,fatherid pid from company where fatherId="+id;
List<Record> menu=Db.find(sql);
if(menu!=null){
for (int i = 0; i < menu.size(); i++) {
String sql1="select id id,name text,fatherid pid from company where fatherId="+menu.get(i).getInt("id");
List<Record> menu1=Db.find(sql1);
if(menu1.size()>0){
menu.get(i).set("state","closed");
}else{
menu.get(i).set("state","true");
}
}
}
return menu;
}