ztree怎么返回选中的节点的值

ztree怎么返回选中的节点的值,第1张

1 treeNodegetParentNode() 方法能得到其父节点

2 目前的确没有提供 节点自身 index 的方法,可以自己利用 父节点的 children 遍历一遍来判断。对于新的浏览器 可以直接使用 indexOf ,但是老的浏览器是不支持的,请注意; 另外 如果当前节点是根节点那么它是没有父节点的,这时候可以直接利用 getNode 方法获取根节点的Array 集合

不需要使用jquery。

使用ztree的回调函数,函数中返回treeNode,consolelog(treeNode)就可以查看ztree相关数据了

ztree获取当前选中节点及所有父节点

获得当前选中节点路径,如部门库〉新闻部〉文字稿:

树如下图:

 js:

var curLocation="";//当前位置

var treeObj = $fnzTreegetZTreeObj("rs_tree");

var nodes = treeObjgetSelectedNodes();

if(nodeslength>0){

var allNode = nodes[0]['text'];//获取当前选中节点

var node = nodes[0]getParentNode();

getParentNodes(node,allNode);

}

var location = "";

var nodeArrs = curLocationsplit(">");

for(var i=nodeArrslength-1;i>=0;i--){

location += nodeArrs[i]+">";

}

location = locationsubstring(0, locationlastIndexOf(">"));

alert(location);

function getParentNodes(node,allNode){

if(node!=null){

allNode += ">"+node['text'];

curNode = nodegetParentNode();

getParentNodes(curNode,allNode);

}else{

//根节点

curLocation = allNode;

}

}

结果:location:  部门库>xx部>国内

当数据适合同步加载,但又不想每次打开页面就自动运算出var

zNodes的值,因为很多时候打开页面都用不到ztree树,为了提高效率只想在需要用到并点击的时候才赋值给var

zNodes,才d出ztree的树来,所以我就把以下这段代码放到了showMenu()中

j$(document)ready(function(){

j$fnzTreeinit(j$("#treeDemo"),

setting,zNodes);

<script>

function filter(node) { //过滤器直选中2级节点累加

return (nodelevel == 2 && nodechecked == true);

}

var setting = { //设置

check: {

enable: true

},

callback: {

onCheck: onCheck

}};

function onCheck(e, treeId, treeNode){ //这是将所有选中节点的名字 用,分割做拼接 用于持久化到数据库

var zTree = $fnzTreegetZTreeObj("tree")getNodesByFilter(filter);

var choose = "";

for (var i=0;i<zTreelength;i++) {

if(zTree[i]name !=null)

choose +=(i == (zTreelength-1))zTree[i]name:zTree[i]name+",";

}

$("#ztreesnames")val(choose);

treeIds();

}

function treeIds(){ //这是将选中的节点的id用;分割拼接起来,用于持久化到数据库

var zTreeO = $fnzTreegetZTreeObj("tree")getNodesByFilter(filter);

var idListStr = "";

for (var i = 0; i < zTreeOlength; i++) {

if (zTreeO[i]id != null) {

idListStr+= (i == (zTreeOlength-1))zTreeO[i]id:zTreeO[i]id+";";

}

};

$("#ztreeids")val(idListStr);

ztree异步加载节点的时候需要提供一个url。

ztree初始化完会向这个url发送一次请求注意这个时候是不会带参数的。这个时候你需要返回给它你想要的节点。

ps:我是返回一个根节点给它。

然后在点击此时的节点时候,还是会向这个url发送请求此时会带配置的参数,如果你现在的处理方式和初始化之后那样,就还是返回你开始的那些节点给你。

所以,你需要根据不同的动作来处理你的返回值。

async : {

    enable : true,

    url : _mapurl,//异步路径

    autoParam : ["id","name" ],//请求携带节点上的属性值

    dataFilter : function(treeId, parentNode, childNodes) {

    if (!childNodes)return null;

    for (var i = 0, l = childNodeslength; i < l; i++) {

    var _c=childNodes[i];

    _cisParent=_cparent;

    childNodes[i]name = _cnamereplace(/\n/g, '');

    }

    return childNodes;

    }

      },

//只是提供处理思路 不需要copy

 @RequestMapping("/getOrg")

@ResponseBody

public  List<ObjectTypeBean> getOrg(>

以上就是关于ztree怎么返回选中的节点的值全部的内容,包括:ztree怎么返回选中的节点的值、怎么用jquery定位ztree 中idkey和pidkey 值、ztree中怎样获取选中节点的父节点及自己的index等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9703230.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存