zTree如何赋初始值

Capricornph 2016-05-18 10:26:14
zTree怎么赋值呢?比如说我现在存在数据库的值是211,111,不通过JSON怎么赋值到ZTree呢?

<SCRIPT type="text/javascript">
<!--
var setting = {
check: {
enable: true
},
data: {
simpleData: {
enable: true
}
},
callback: {

onCheck:onCheck
}
};

var zNodes =[
{ id:1, pId:0, name:"随意勾选 1", open:true},
{ id:11, pId:1, name:"随意勾选 1-1", open:true},
{ id:111, pId:11, name:"随意勾选 1-1-1"},
{ id:112, pId:11, name:"随意勾选 1-1-2"},
{ id:12, pId:1, name:"随意勾选 1-2", open:true},
{ id:121, pId:12, name:"随意勾选 1-2-1"},
{ id:122, pId:12, name:"随意勾选 1-2-2"},
{ id:2, pId:0, name:"随意勾选 2", checked:true, open:true},
{ id:21, pId:2, name:"随意勾选 2-1"},
{ id:22, pId:2, name:"随意勾选 2-2", open:true},
{ id:221, pId:22, name:"随意勾选 2-2-1", checked:true},
{ id:222, pId:22, name:"随意勾选 2-2-2"},
{ id:23, pId:2, name:"随意勾选 2-3"}
];

var code;

function setCheck() {
var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
py = $("#py").attr("checked")? "p":"",
sy = $("#sy").attr("checked")? "s":"",
pn = $("#pn").attr("checked")? "p":"",
sn = $("#sn").attr("checked")? "s":"",
type = { "Y":py + sy, "N":pn + sn};
zTree.setting.check.chkboxType = type;
showCode('setting.check.chkboxType = { "Y" : "' + type.Y + '", "N" : "' + type.N + '" };');
}
function showCode(str) {
if (!code) code = $("#code");
code.empty();
code.append("<li>"+str+"</li>");
}

$(document).ready(function(){
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
setCheck();
$("#py").bind("change", setCheck);
$("#sy").bind("change", setCheck);
$("#pn").bind("change", setCheck);
$("#sn").bind("change", setCheck);
});

function onCheck(e, treeId, treeNode) {
  var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
  nodes = zTree.getCheckedNodes(true),
  v = "";
  for (var i=0, l=nodes.length; i<l; i++) {
if(!nodes[i].isParent){
  v += nodes[i].id + ",";
}
  
  }
alert(v);  //获取选中子节点的id值
//-->

</SCRIPT>
...全文
737 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hello World, 2016-08-22
  • 打赏
  • 举报
回复

var nodes = [
{ "id":1, "name":"test1", checked:true },
{ "id":2, "name":"test2", checked:true }
]

Capricornph 2016-08-22
  • 打赏
  • 举报
回复
引用 6 楼 apollokk 的回复:
<!DOCTYPE html>
<html>
<head>
    <title>ZTREE DEMO - beforeCheck / onCheck</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: {
            selectedMulti: false
        },
        check: {
            enable: true
        },
        data: {
            simpleData: {
                enable: true
            }
        },
        callback: {
        }
    };

    var zNodes = [
        { id: 1, pId: 0, name: "随意勾选 1", open: true },
        { id: 11, pId: 1, name: "随意勾选 1-1" },
        { id: 12, pId: 1, name: "随意勾选 1-2", open: true },
        { id: 121, pId: 12, name: "随意勾选 1-2-1" },
        { id: 122, pId: 12, name: "随意勾选 1-2-2" },
        { id: 2, pId: 0, name: "禁止勾选 2", open: true, doCheck: false },
        { id: 21, pId: 2, name: "禁止勾选 2-1", doCheck: false },
        { id: 22, pId: 2, name: "禁止勾选 2-2", checked: true, open: true, doCheck: false },
        { id: 221, pId: 22, name: "禁止勾选 2-2-1", doCheck: false },
        { id: 222, pId: 22, name: "禁止勾选 2-2-2", checked: true, doCheck: false },
        { id: 23, pId: 2, name: "禁止勾选 2-3", doCheck: false }
    ];


    $(document).ready(function () {
        $.fn.zTree.init($("#treeDemo"), setting, zNodes);
    });
    //-->
	</script>
</head>

<body>
    <h1>用 zTree 方法 勾选 checkbox</h1>
    <div>
        <a href="javascript:void(0);" onclick="checkNode(121);">选中节点121【随意勾选 1-2-1】</a><br />
        <a href="javascript:void(0);" onclick="checkNode(221);">选中节点221【随意勾选 2-2-1】</a>
    </div>
    <div class="content_wrap">
        <div class="zTreeDemoBackground left">
            <ul id="treeDemo" class="ztree"></ul>
        </div>
    </div>
</body>
</html>
<script>
    function checkNode(id) {
        var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
        var nodes = treeObj.getNodesByParam("id", id, null);
        if (nodes.length > 0)
            treeObj.checkNode(nodes[0], true, true);
    }
</script>
这个是手动获取,默认数据如何加载进来呢?
Hello World, 2016-07-14
  • 打赏
  • 举报
回复
<!DOCTYPE html>
<html>
<head>
    <title>ZTREE DEMO - beforeCheck / onCheck</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: {
            selectedMulti: false
        },
        check: {
            enable: true
        },
        data: {
            simpleData: {
                enable: true
            }
        },
        callback: {
        }
    };

    var zNodes = [
        { id: 1, pId: 0, name: "随意勾选 1", open: true },
        { id: 11, pId: 1, name: "随意勾选 1-1" },
        { id: 12, pId: 1, name: "随意勾选 1-2", open: true },
        { id: 121, pId: 12, name: "随意勾选 1-2-1" },
        { id: 122, pId: 12, name: "随意勾选 1-2-2" },
        { id: 2, pId: 0, name: "禁止勾选 2", open: true, doCheck: false },
        { id: 21, pId: 2, name: "禁止勾选 2-1", doCheck: false },
        { id: 22, pId: 2, name: "禁止勾选 2-2", checked: true, open: true, doCheck: false },
        { id: 221, pId: 22, name: "禁止勾选 2-2-1", doCheck: false },
        { id: 222, pId: 22, name: "禁止勾选 2-2-2", checked: true, doCheck: false },
        { id: 23, pId: 2, name: "禁止勾选 2-3", doCheck: false }
    ];


    $(document).ready(function () {
        $.fn.zTree.init($("#treeDemo"), setting, zNodes);
    });
    //-->
	</script>
</head>

<body>
    <h1>用 zTree 方法 勾选 checkbox</h1>
    <div>
        <a href="javascript:void(0);" onclick="checkNode(121);">选中节点121【随意勾选 1-2-1】</a><br />
        <a href="javascript:void(0);" onclick="checkNode(221);">选中节点221【随意勾选 2-2-1】</a>
    </div>
    <div class="content_wrap">
        <div class="zTreeDemoBackground left">
            <ul id="treeDemo" class="ztree"></ul>
        </div>
    </div>
</body>
</html>
<script>
    function checkNode(id) {
        var treeObj = $.fn.zTree.getZTreeObj("treeDemo");
        var nodes = treeObj.getNodesByParam("id", id, null);
        if (nodes.length > 0)
            treeObj.checkNode(nodes[0], true, true);
    }
</script>
Capricornph 2016-07-13
  • 打赏
  • 举报
回复
引用 3 楼 apollokk 的回复:
选中单选或者复选框用checkNode,查找节点可以用getNodeByParam
Capricornph 2016-05-22
  • 打赏
  • 举报
回复
引用 3 楼 apollokk 的回复:
选中单选或者复选框用checkNode,查找节点可以用getNodeByParam
能给一个实例参考一下么
Hello World, 2016-05-19
  • 打赏
  • 举报
回复
选中单选或者复选框用checkNode,查找节点可以用getNodeByParam
Hello World, 2016-05-18
  • 打赏
  • 举报
回复
树加载之后去选中节点
Capricornph 2016-05-18
  • 打赏
  • 举报
回复
引用 1 楼 apollokk 的回复:
树加载之后去选中节点
就是不知道如何选中。。。

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧