对于我们需要带复选框的树结构,
当选中7楼时再展开时会出现
7楼的子节点不会被选中,所以我们需要在展开时得到父节点的选中状态,在这里我是利用动态改变url来实现
在js中添加以下代码:
//展开点位树判断当前节点是否被选中
$(function(){
$('#tt').tree({
url:"${pageContext.request.contextPath}/shebei/getTree.action?checked="+false,
method:'post',
onBeforeLoad: function(node){
if(node != null){
if(node.checked){
$('#tt').tree('options').url = "${pageContext.request.contextPath}/shebei/getTree.action?checked="+true;
}else{
$('#tt').tree('options').url = "${pageContext.request.contextPath}/shebei/getTree.action?checked="+false;
}
}else{
$('#tt').tree('options').url = "${pageContext.request.contextPath}/shebei/getTree.action?checked="+false;
};
}
});
});
在html中
<ul id='tt' class="easyui-tree" checkbox="true" lines="true" animate:'true' ></ul>
在java后台的代码
@RequestMapping("getTree")
public void getTree(HttpServletRequest request,HttpServletResponse response, Integer id,boolean checked) throws Exception{
//可以根据checked来判断父节点是否是选中状态,来实现json拼接
}
这样后得到的结果