• 可编辑ztree节点的增删改功能图标控制---已解决


    每文一语:休倚时来势,提防运去时


    <!DOCTYPE html>

    <HTML>
    <HEAD>
    <TITLE> ZTREE DEMO - beforeEditName / beforeRemove / onRemove / beforeRename / onRename</TITLE>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" href="../../../css/demo.css" type="text/css">
    <link rel="stylesheet" href="../../../css/zTreeStyle/zTreeStyle.css" type="text/css">
    <script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script>
    <script type="text/javascript" src="../../../js/jquery.ztree.core-3.5.js"></script>
    <script type="text/javascript" src="../../../js/jquery.ztree.excheck-3.5.js"></script>
    <script type="text/javascript" src="../../../js/jquery.ztree.exedit-3.5.js"></script>

    <SCRIPT type="text/javascript">
    <!--
    var setting = {
    view: {
    addHoverDom: addHoverDom,
    removeHoverDom: removeHoverDom,
    selectedMulti: false
    },
    edit: {

    enable: true,

    //给节点额外添加属性来控制“重命名”、“删除”图标的显示或隐藏

    showRenameBtn:showRenameBtn,
    showRemoveBtn:showRemoveBtn

    },
    data: {
    simpleData: {
    enable: true
    }
    },
    callback: {
    beforeDrag: beforeDrag,
    beforeEditName: beforeEditName,
    beforeRemove: beforeRemove,
    beforeRename: beforeRename,
    onRemove: onRemove,
    onRename: onRename
    }
    };


    var zNodes =[

    //给节点额外添加属性来控制“重命名”、“删除”图标的显示或隐藏

    { id:1, pId:0, name:"父节点 1", open:true,noRemoveBtn:true,noEditBtn:true},
    { id:11, pId:1, name:"叶子节点 1-1",noRemoveBtn:true,noEditBtn:true},
    { id:12, pId:1, name:"叶子节点 1-2"},
    { id:13, pId:1, name:"叶子节点 1-3"},
    { id:2, pId:0, name:"父节点 2", open:true},
    { id:21, pId:2, name:"叶子节点 2-1"},
    { id:22, pId:2, name:"叶子节点 2-2"},
    { id:23, pId:2, name:"叶子节点 2-3"},
    { id:3, pId:0, name:"父节点 3", open:true},
    { id:31, pId:3, name:"叶子节点 3-1"},
    { id:32, pId:3, name:"叶子节点 3-2"},
    { id:33, pId:3, name:"叶子节点 3-3"}
    ];
    var log, className = "dark";
    function beforeDrag(treeId, treeNodes) {
    return false;
    }
    function beforeEditName(treeId, treeNode) {
    className = (className === "dark" ? "":"dark");
    showLog("[ "+getTime()+" beforeEditName ]&nbsp;&nbsp;&nbsp;&nbsp; " + treeNode.name);
    var zTree = $.fn.zTree.getZTreeObj("treeDemo");
    zTree.selectNode(treeNode);
    return confirm("进入节点 -- " + treeNode.name + " 的编辑状态吗?");
    }
    function beforeRemove(treeId, treeNode) {
    className = (className === "dark" ? "":"dark");
    showLog("[ "+getTime()+" beforeRemove ]&nbsp;&nbsp;&nbsp;&nbsp; " + treeNode.name);
    var zTree = $.fn.zTree.getZTreeObj("treeDemo");
    zTree.selectNode(treeNode);
    return confirm("确认删除 节点 -- " + treeNode.name + " 吗?");
    }
    function onRemove(e, treeId, treeNode) {
    showLog("[ "+getTime()+" onRemove ]&nbsp;&nbsp;&nbsp;&nbsp; " + treeNode.name);
    }
    function beforeRename(treeId, treeNode, newName) {
    className = (className === "dark" ? "":"dark");
    showLog("[ "+getTime()+" beforeRename ]&nbsp;&nbsp;&nbsp;&nbsp; " + treeNode.name);
    if (newName.length == 0) {
    alert("节点名称不能为空.");
    var zTree = $.fn.zTree.getZTreeObj("treeDemo");
    setTimeout(function(){zTree.editName(treeNode)}, 10);
    return false;
    }
    return true;
    }
    function onRename(e, treeId, treeNode) {
    showLog("[ "+getTime()+" onRename ]&nbsp;&nbsp;&nbsp;&nbsp; " + treeNode.name);
    }
    function showLog(str) {
    if (!log) log = $("#log");
    log.append("<li class='"+className+"'>"+str+"</li>");
    if(log.children("li").length > 8) {
    log.get(0).removeChild(log.children("li")[0]);
    }
    }
    function getTime() {
    var now= new Date(),
    h=now.getHours(),
    m=now.getMinutes(),
    s=now.getSeconds(),
    ms=now.getMilliseconds();
    return (h+":"+m+":"+s+ " " +ms);
    }


    //是否显示编辑button
    function  showRenameBtn(treeId, treeNode){
    //获取节点所配置的noEditBtn属性值
    if(treeNode.noEditBtn != undefined && treeNode.noEditBtn){
    return false;
    }else
    {
    return true;
    }
    }
    //是否显示删除button
    function showRemoveBtn(treeId, treeNode){
    //获取节点所配置的noRemoveBtn属性值
    if(treeNode.noRemoveBtn != undefined && treeNode.noRemoveBtn){
    return false;
    }else
    {
    return true;
    }
    }


    var newCount = 1;

    function addHoverDom(treeId, treeNode) {

    //在addHoverDom中推断第0级的节点不要显示“新增”button

    if(treeNode.level === 0){
    return false;

    }else{

    //给节点加入"新增"button

    var sObj = $("#" + treeNode.tId + "_span");
    if (treeNode.editNameFlag || $("#addBtn_"+treeNode.id).length>0) return;
    var addStr = "<span class='button add' id='addBtn_" + treeNode.id
    + "' title='add node' onfocus='this.blur();'></span>";
    sObj.after(addStr);
    var btn = $("#addBtn_"+treeNode.id);
    if (btn) btn.bind("click", function(){
    var zTree = $.fn.zTree.getZTreeObj("treeDemo");
    zTree.addNodes(treeNode, {id:(100 + newCount), pId:treeNode.id, name:"new node" + (newCount++)});
    return false;
    });
    }

    };
    function removeHoverDom(treeId, treeNode) {
    $("#addBtn_"+treeNode.id).unbind().remove();
    };
    function selectAll() {
    var zTree = $.fn.zTree.getZTreeObj("treeDemo");
    zTree.setting.edit.editNameSelectAll =  $("#selectAll").attr("checked");
    }

    $(document).ready(function(){
    $.fn.zTree.init($("#treeDemo"), setting, zNodes);
    $("#selectAll").bind("click", selectAll);
    });
    //-->
    </SCRIPT>
    <style type="text/css">
    .ztree li span.button.add {margin-left:2px; margin-right: -1px; background-position:-144px 0; vertical-align:top; *vertical-align:middle}
    </style>
    </HEAD>


    <BODY>
    <h1>高级 增 / 删 / 改 节点</h1>
    <h6>[ 文件路径: exedit/edit_super.html ]</h6>
    <div class="content_wrap">
    <div class="zTreeDemoBackground left">
    <ul id="treeDemo" class="ztree"></ul>
    </div>
    </div>
    </BODY>
    </HTML>
  • 相关阅读:
    【转】最大子序列和(动态规划学习)
    [转]修改Oracle XDB的8080端口
    【转】 C++常见编译/链接错误及其解决办法
    Pentaho Dashboard Editor使用向导
    [转]什么是Unicode是什么是UTF8是什么
    【转】 typedef的四个用途和两个陷阱
    【转】 C++中类型转换的解释
    从一道笔试题谈算法优化
    [转]谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
    [转]对Oracle数据库的字符集问题的资料收集,受益匪浅
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/6915569.html
Copyright © 2020-2023  润新知