Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>
">
My JSP 'addPost.jsp' starting pagevarsetting={
async: {
enable:true,
url:"${ctx}/ztree/ztreeTest",//没点击一次节点AJAX 都会与此路径交互一次
autoParam:["id","name"],//ajax提交的时候,传的是id值
otherParam:{"chk":"chk"},
dataFilter: dataFilter
},
check: {
enable:true,
autoCheckTrigger:true},
data: {
simpleData: {
enable:true,
idKey :"id",//id编号命名
pIdKey :"pId",//父id编号命名
rootPId :0}
},
callback: {
onCheck: onCheck,
onAsyncSuccess: onAsyncSuccess
}
};functiondataFilter(treeId, parentNode, childNodes) {if(parentNode.checkedEx=== true) {for(vari=0, l=childNodes.length; i
childNodes[i].checked=parentNode.checked;
childNodes[i].halfCheck= false;
childNodes[i].checkedEx= true;
}
}returnchildNodes;
}functiononCheck(event, treeId, treeNode) {
cancelHalf(treeNode)
treeNode.checkedEx= true;
}functiononAsyncSuccess(event, treeId, treeNode, msg) {
cancelHalf(treeNode);
}functioncancelHalf(treeNode) {if(treeNode.checkedEx)return;varzTree=$.fn.zTree.getZTreeObj("treeDemo");
treeNode.halfCheck= false;
zTree.updateNode(treeNode);
}varzNodes=[//这里我用到了jstl表达式forEach循环,循环的就是
//后台request作用域里存放的数据,而这里就是首次加载页面是树显示的根节点
{ id:"${abc.id}", pId:"${abc.parentId}", name:"${abc.name}"},
];
$(document).ready(function(){
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
});//获取节点复选框的值
functiononCheck(e,treeId,treeNode){vartreeObj=$.fn.zTree.getZTreeObj("treeDemo"),
nodes=treeObj.getCheckedNodes(true),
v="";
id="";for(vari=0;i
v+=nodes[i].name+ ",";
id+=nodes[i].id+ ",";//alert(nodes[i].id); //获取选中节点的值
}
alert(id);//获取选中节点的值
$("#myid").val(id);
}