• ztree 使用心得


    最近项目需要用ztree ,初步研究感觉这个插件写的实在是太好了。现总结遇到的问题

    封装一颗树

    /**
    * 按类型分组树
    * Id 按类型分组ID
    * treeId 树ID
    * treeDivId divid
    *
    * **/
    function carTypeGroup(id,treeId,treeDivId){
    var o=new Object();
    o.showMenu = function () {
    //输入框的ID
    var cityOffset = $("#" + id).position();
    $("#" + treeDivId).css({left: cityOffset.left + "px"}).slideDown("fast");
    $("body").bind("mousedown", o.onAreaBodyDown);

    };

    o.onAreaBodyDown = function (event) {
    if (!( event.target.id == treeDivId || $(event.target).parents("#" + treeDivId).length > 0)) {
    o.areaHideMenu();
    }
    };

    o.areaHideMenu = function () {
    $("#" + treeDivId).fadeOut("fast");
    $("body").unbind("mousedown", o.onAreaBodyDown);
    //var treeObj = $.fn.zTree.getZTreeObj(treeId);
    //treeObj.expandAll(false);

    };
    //点击勾选checkbox 执行函数
    o.treeChecked = function (event, treeId, treeNode) {
    var treeObj = $.fn.zTree.getZTreeObj(treeId);
    var checkCount = treeObj.getCheckedNodes(true);
    var namestr = "";
    var idstr = "";
    //获取到所有的被选中的
    for (var i = 0; i < checkCount.length; i++) {
    namestr += checkCount[i].name + ",";
    idstr += checkCount[i].id + ",";
    }
    //后续操作根据自身要求写。
    $("#groupByTollgate").val(idstr.substring(0, idstr.length - 1));
    }
    var setting = {
    check: {
    enable: true,
    chkStyle: "checkbox",
    chkboxType: {"Y": "s", "N": "ps"}
    },
    data: {
    simpleData: {
    enable: true
    }
    },
    callback: {
    onCheck: o.treeChecked
    }
    };

    var zNodes =[
    { id:1, pId:0, name:"ss", open:true},
    { id:11, pId:1, name:"111"},
    { id:12, pId:1, name:"112"},
    { id:13, pId:1, name:"113"},
    { id:2, pId:0, name:"gfg", open:true},
    { id:21, pId:2, name:"111"},
    { id:22, pId:2, name:"112"},
    { id:23, pId:2, name:"113"},
    { id:3, pId:0, name:"nhk", open:true},
    { id:31, pId:3, name:"111"},
    { id:32, pId:3, name:"112"},
    { id:33, pId:3, name:"113"}

    ];

    $.fn.zTree.init($("#" + treeId), setting, zNodes);

    return o;
    }

      其中遇到一个需求是,每次勾选的checkbox 再次点击的时候,让以前选过的默认是选中状态,也就是数据回显

    /* *
    * tree 回显选中值
    */
    function initCarSelect(codeId, treeId) {
    var org = $("#" + codeId).val();
    var zTree = $.fn.zTree.getZTreeObj(treeId);
    var arr = org.split(",");
    for (var i = 0; i < arr.length; i++) {
    var node = zTree.getNodeByParam("id", arr[i], null);
    if(node!==null){
    zTree.checkNode(node, true, true);
    }
    }
    }
  • 相关阅读:
    Java基础模拟LinkedList的双向链表结构
    对thrift版本降级(mac)
    通信技术类网站
    Arista和他的EOS
    程序员的英文能力培养
    挖掘时间的价值
    写作的方法论
    SRv6相关资源汇总
    你不必有自己的写作优势领域
    20192416汇编语言学习总结
  • 原文地址:https://www.cnblogs.com/daiwenru/p/7873268.html
Copyright © 2020-2023  润新知