使用zTree树控件,如果获取节点id?

时间:2022-10-09 12:00:04
我想通过zTree异步加载的功能
页面初次加载时只加载最*的几个节点

然后,每点击节点,异步去(数据库)获取该节点下的一级子节点。

这个zTree怎么得到从数据库读出来的id呢?找了半天没找到方法。。

请各位帮助,谢谢

9 个解决方案

#1


这个是最基本的功能啊,仔细看看文档嘛。

#2


select * from tb where parentid=@id
使用zTree树控件,如果获取节点id?

#3


看文档啊.........

#4


谢谢各位关注

我是先翻了文档才过来问的。

因为在第一次数据加载完毕之后,我在html文档中没有看到我在数据库中对应的id值

#5


(数据格式)后台写会json:
{
     name:xxxxx ,
     id:xxxxxx,   //把id写在这里好了
    attr:xxxxxx   //这里写一些其他的字段或者属性什么的
}


前台:
$.fn.zTree.init($("#tree"),setting,eval("("+data+")"));

可以把数据库表中每条记录的id写在treenode的id呀,再使用时,直接相应的treenode.id就可获得

ztree的信息是写在动态内存中的,html文档中是看不到的

#6


  var setting = {
            data: {
                simpleData: {
                    enable: true
                }
            },
            callback: {
                onClick: this.onClick
            }
        };

        function onClick(e, treeId, node) {
            var deptId = node.id;
            var deptPid = node.pId;

        }

        $(document).ready(function () {
            $.getJSON("/API/Dept.ashx?t=1", function (zNodes) {
                $.fn.zTree.init($("#Maintree"), setting, zNodes);
                var tId = $("#hiddtId").val();
                var treeObj = $.fn.zTree.getZTreeObj("Maintree");
                var node = treeObj.getNodeByTId(tId);
                treeObj.selectNode(node);
            })
        });

              var tree = from a in deptlist
                           select new CheckBoxTree
                           {
                               id = a.DepID.ToString(),
                               pId = a.ParentID.ToString(),
                               name = a.DepName,
                               open = "true"
                           };
                result = TreeHelper.GetJosnTree(tree.ToArray());

#7


我想在 mvc 中 异步加载它

向后台传id时不知道怎么处理了。。

#8


引用 5 楼 sp11234 的回复:
(数据格式)后台写会json:
{
     name:xxxxx ,
     id:xxxxxx,   //把id写在这里好了
    attr:xxxxxx   //这里写一些其他的字段或者属性什么的
}


前台:
$.fn.zTree.init($("#tree"),setting,eval("("+data+")"));

可以把数据库表……

+10086

#9


 data:{
        simpleData: {
            enable: true,
            idKey: "id",
            pIdKey: "pId",
           }
    }
取数据:
function zTreeOnClick(event, treeId, treeNode) {
    alert(treeId+","+treeNode.id + ", " + treeNode.name+","+treeNode.pId);
};

#1


这个是最基本的功能啊,仔细看看文档嘛。

#2


select * from tb where parentid=@id
使用zTree树控件,如果获取节点id?

#3


看文档啊.........

#4


谢谢各位关注

我是先翻了文档才过来问的。

因为在第一次数据加载完毕之后,我在html文档中没有看到我在数据库中对应的id值

#5


(数据格式)后台写会json:
{
     name:xxxxx ,
     id:xxxxxx,   //把id写在这里好了
    attr:xxxxxx   //这里写一些其他的字段或者属性什么的
}


前台:
$.fn.zTree.init($("#tree"),setting,eval("("+data+")"));

可以把数据库表中每条记录的id写在treenode的id呀,再使用时,直接相应的treenode.id就可获得

ztree的信息是写在动态内存中的,html文档中是看不到的

#6


  var setting = {
            data: {
                simpleData: {
                    enable: true
                }
            },
            callback: {
                onClick: this.onClick
            }
        };

        function onClick(e, treeId, node) {
            var deptId = node.id;
            var deptPid = node.pId;

        }

        $(document).ready(function () {
            $.getJSON("/API/Dept.ashx?t=1", function (zNodes) {
                $.fn.zTree.init($("#Maintree"), setting, zNodes);
                var tId = $("#hiddtId").val();
                var treeObj = $.fn.zTree.getZTreeObj("Maintree");
                var node = treeObj.getNodeByTId(tId);
                treeObj.selectNode(node);
            })
        });

              var tree = from a in deptlist
                           select new CheckBoxTree
                           {
                               id = a.DepID.ToString(),
                               pId = a.ParentID.ToString(),
                               name = a.DepName,
                               open = "true"
                           };
                result = TreeHelper.GetJosnTree(tree.ToArray());

#7


我想在 mvc 中 异步加载它

向后台传id时不知道怎么处理了。。

#8


引用 5 楼 sp11234 的回复:
(数据格式)后台写会json:
{
     name:xxxxx ,
     id:xxxxxx,   //把id写在这里好了
    attr:xxxxxx   //这里写一些其他的字段或者属性什么的
}


前台:
$.fn.zTree.init($("#tree"),setting,eval("("+data+")"));

可以把数据库表……

+10086

#9


 data:{
        simpleData: {
            enable: true,
            idKey: "id",
            pIdKey: "pId",
           }
    }
取数据:
function zTreeOnClick(event, treeId, treeNode) {
    alert(treeId+","+treeNode.id + ", " + treeNode.name+","+treeNode.pId);
};