easyUI的异步树复选框选中的问题

本文介绍了一种解决复选框树状结构中父节点与子节点选中状态不同步的问题的方法。通过在JavaScript中动态修改URL参数传递父节点的选中状态,确保子节点的状态与其保持一致。

对于我们需要带复选框的树结构,


当选中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拼接

}

这样后得到的结果



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值