zTree如何只取子节点的id值

问题描述

zTree如何只取子节点的id值

zTree如何只取子节点的id值,目前项目中不需要取父节点的值,如何取得所有的子节点的值?

解决方案

1.获取当前节点
2.用ztree的方法transformToArray()获取当前选中节点(含选中节点)的子节点对象集合。
3.遍历集合,取出需要的值。
function getChildNodes(treeNode) {
var childNodes = ztree.transformToArray(treeNode);
var nodes = new Array();
for(i = 0; i < childNodes.length; i++) {
nodes[i] = childNodes[i].id;
}
return nodes.join(",");
}

解决方案二:

判断节点的isParent属性,为true就是父节点,否则子节点,再获取值

 var treeObj = $.fn.zTree.getZTreeObj("tree");
var nodes = treeObj.getNodes();//获取所有节点      treeObj.getSelectedNodes();//获取选中的节点
for(var i=0,j=nodes.length;i<j;i++)
if(!nodes[i].isParent)alert('子节点:'+nodes[i].name)

解决方案三:

对所有节点遍历,,然后判断if(!node.isParent){console.log(node.id)}就可以了

解决方案四:

已经解决了,附上实例。。。感谢各位大神,还有一个问题,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>
时间: 2024-10-04 01:19:40

zTree如何只取子节点的id值的相关文章

jquery取子节点及当前节点属性值的方法

 分享下jquery取子节点及当前节点属性值的方法. 1 <li class="menulink"> 2 <a href="#" rel="external nofollow" id="101" onclick="changeMenu('101','资料管理','#' )"><span>资料管理</span> 3 </a> 4 </li>

jquery 取子节点及当前节点属性值_jquery

<li class="menulink"> <a href="#" rel="external nofollow" id="101" onclick="changeMenu('101','资料管理','#' )"><span>资料管理</span> </a> </li> 取子节点: $(".menulink a").

jquery 取子节点及当前节点属性值的方法_jquery

分享下jquery取子节点及当前节点属性值的方法. <li class="menulink"> <a href="#" rel="external nofollow" id="101" onclick="changeMenu('101','资料管理','#' )"><span>资料管理</span> </a> </li> 取子节点: $

jquery取子节点及当前节点属性值的方法_jquery

分享下jquery取子节点及当前节点属性值的方法. <li class="menulink"> <a href="#" rel="external nofollow" id="101" onclick="changeMenu('101','资料管理','#' )"><span>资料管理</span> </a> </li> 取子节点: $

.Net中给TreeView控件的节点赋id值

1,首先说明,这个TreeView控件是属于Winform下的控件. 2,用惯Webform的朋友肯定知道,Webform下的TreeView控件是有SelectedNode.Text和SelectedNode.Value这两个属性的.但是,Winform下的TreeView控件却没有SelectedNode.Value这个属性,因此有很多朋友都碰到一个问题,如何把例如像id的值赋给这个TreeView呢? 3,多数的Winform控件都有Tag这个属性.对,我们就是要用Tag来对节点赋id值.

数据库取数据时怎么才能只取前10列的值

问题描述 数据库取数据时怎么才能只取前10列的值.不是前10行. 解决方案 解决方案二:不知道各个列的列名解决方案三:从系统表入手,表名称在sysobjects中,字段名称在syscolumns中,字段序号为syscolums.colidselecttop10b.namefromsysobjectsa,syscolumnsbwherea.id=b.idanda.xtype='U'anda.name='table_name'--此处换成要查找表名称orderbyb.colid 解决方案四:sele

jQuery循环遍历子节点并获取值的方法_jquery

本文实例讲述了jQuery循环遍历子节点并获取值的方法.分享给大家供大家参考,具体如下: Html代码部分: <div class="left_tree_ad_btn_container"> <ul> <li class="tree_ad_btn_bg"><img src="/images/insurance/3lianad_small.jpg" /> </li> </ul>

treeview绑定到数据库,我如何得到选定节点的ID值

问题描述 treeview绑定到数据库,我如何得到选定节点的ID值. 解决方案 解决方案二:ding解决方案三:l解决方案四:treeview加载节点时treeview1.nodes.add("Id","Text");//根节点信息treeview_afterselect事件里,{messsagebox.show(e.nodes.name);//显示选择节点的key}解决方案五:TreeView1.SelectedNode.Value解决方案六:还是不对解决方案七:

通过xml的节点id查询子节点的id 急急急

问题描述 各位大虾帮忙看看下面是我的xml,现在有iswitch节点3个java怎么通过iswitch的id查询trkgrp的id的值(iswitch的第id为唯一性)<?xmlversion="1.0"encoding="utf-8"?><iswitchlist><iswitchid="testdialer"ip="127.0.0.1"port="8888"name=&quo