请教大家一个问题,easyui comboree 下拉树(多选)的checkbox怎么隐藏啊?根据json节点属性来判断是否隐藏复选框。请教!!!

解决方案 »

  1.   

    http://www.jeasyui.com/download/v123.php
    这个是easyui的下载地址。上面有demo,你可以看下。
      

  2.   

    easyui 是一个jquery插件,它的这个combotree(下拉框树)的功能和我要求的有些出入,需要想办法改装一下,例如绑定树节点的时候判断下属性来决定是否显示复选框。
      

  3.   

    这个好像没法弄。看看它的生成的结构,用jquery操作它吧。<div class="tree-node" node-id="8" style="cursor: pointer;">
    <span class="tree-checkbox tree-checkbox0"></span>//这个就是那个checkbox了
    <span class="tree-title">名称</span>
    </div>
      

  4.   

    我在找绑定class属性的事件,可以在绑定事件里面判断根据属性判断是否添加tree-checkbox
      

  5.   

    建议楼主使用 dhtmlx tree,这个官方有详细的稳定和sample,并且支持异步加载,最主要的是这个插件api非常丰富,皮肤的可配置性。
      

  6.   

     这个需要关注下 ~~~ 对于 checkbox 的显示和隐藏, LZ是想在页面加载的时候全部显示呢 ? 还是利用方法onBeforeExpand:function(node,param){} 进行异步显示
    我在找绑定class属性的事件,可以在绑定事件里面判断根据属性判断是否添加tree-checkbox 
    我想思路应该也是这样的 , onLoadSuccess:function(node,data){} 中实现吧 ?
      

  7.   

    //此处判断节点是否为部门节点。如果是的话,不显示复选框。
                    if (_c6.checkbox&&!new RegExp("dpt").test(_ce.id.toString())) {
                        if (_c6.onlyLeafCheck) {
                            if (_ce.state == "open" && (!_ce.children || !_ce.children.length)) {
                                if (_ce.checked) {
                                    $("<span class=\"tree-checkbox tree-checkbox1\"></span>").prependTo(_cf);
                                } else {
                                    $("<span class=\"tree-checkbox tree-checkbox0\"></span>").prependTo(_cf);
                                }
                            }
                        } else {
                            if (_ce.checked) {
                                $("<span class=\"tree-checkbox tree-checkbox1\"></span>").prependTo(_cf);
                                _c7.push(_cf[0]);
                            } else {
                                $("<span class=\"tree-checkbox tree-checkbox0\"></span>").prependTo(_cf);
                            }
                        }
                    }
    上面是easyui绑定时给节点添加checkbox样式的代码,我暂时是在这里面判断的。大家还有更好的方法么?
    回复7楼,我在onLoadSuccess里面遍历去除checkbox样式,利用combotree的onClick:function(node,data){bindCombotree();} 实现联动。第一次加载所有combotree的checkbox显示正确,点击改变后,第一个显示正确,其它的checkbox没有效果,也就是说没控制住。
      

  8.   

    点击改变后 有对应的函数   onSelect (function(node){});
    第一次加载能成功, 那么 改变后应该也能成功吧 ~你直接在 easyUI 中更改,个人觉得不太可取吧 ?当然如果没有其他的解决方法  , 这也不失为解决问题的渠道 ~~
      

  9.   

    这个方法我用过。不过达不到我说的效果。只能改变第一个下拉树,后面的两个就不能改了。(我做的是点击一个下拉树,改变另外三个checkbox样式)