zoukankan      html  css  js  c++  java
  • DWZ (JUI) 教程 tree 控件的选中事件

    DWZ (JUI) 教程 tree 控件的选中事件     

    先简单说一下流程 

    第一步 当然是先定义好回调事件了

    function checkCallback(json){
    ...........
    ...........
    }
    View Code

    关键是回调函数返回的结构 {checked:布尔值, items:数组}

    如果是选中事件 checked 为 true 否则为false

    items 是个对象数组 [ {name:, value:, text: },{} ]   是返回是选中的节点,如果返回的checked 为false 就是反选事件 ,那么它的长度就会是0

    name 就是节点名称  value 就是对应的值  text 就是节点对应的文本  对应 节点的 tname tvalue ,<a>text</a> 文本信息

    tree控件自动是级联的,选中父节点,子节点也会选中,所以返回的的选中节点是个数组,当然如果是叶子节点,那么它的长度就是1

    第二步 就是注册到dom元素上 

    <ul class="tree treeFolder treeCheck expand" oncheck="checkCallback">

    这样就可以了 其实使用起来 也挺方便。 

    setTimeout(function(){    
        if($this.hasClass("treeCheck")){    
            //获取选中事件 就是注册到dom元素上的事件    
            var checkFn = eval($this.attr("oncheck"));    
            if(checkFn && $.isFunction(checkFn)) {    
                $("div.ckbox", $this).each(function(){    
                    var ckbox = $(this);    
                    ckbox.click(function(){    
                        //返回是事件类型 是否为选中事件    
                        var checked = $(ckbox).hasClass("checked");    
                        var items = [];    
                        if(checked){    
                            //看一下源码结构 其实是获取到节点的li 元素    
                            var tnode = $(ckbox).parent().parent();    
                            //获取所有节点下才checkbox    
                            var boxes = $("input", tnode);    
                            if(boxes.size() > 1) {    
                                //对应我说的 返回的结构    
                                $(boxes).each(function(){    
                                    items[items.length] = {name:$(this).attr("name"), value:$(this).val(), text:$(this).attr("text")};    
                                });    
                            } else {    
                                items = {name:boxes.attr("name"), value:boxes.val(), text:boxes.attr("text")};    
                            }           
                        }    
                        //调用函数                                     
                        checkFn({checked:checked, items:items});                                                            
                    });    
                });    
            }    
        }  
    View Code
  • 相关阅读:
    spring对事务的配置
    Mysq中的流程控制语句的用法
    mysql存储过程和常用流程控制
    ztree更换节点图标
    eclipse调试(debug)的时候,出现Source not found,Edit Source Lookup Path,一闪而过
    myeclipse如何设置或关闭断点调试自动跳入debug模式
    Druid数据源对数据库访问密码加密好麻烦
    js中if()条件中变量为false的情况
    TFS2008 安装图解(详细版本)(转载)
    数字格式化
  • 原文地址:https://www.cnblogs.com/donchen/p/4112859.html
Copyright © 2011-2022 走看看