easyui tree获取父节点的父节点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了easyui tree获取父节点的父节点相关的知识,希望对你有一定的参考价值。
当我点击品牌管理的时候可以或得到系统参数管理的ID,通过获取父id的那个方法可以获得到,那我点击故障大类如何去获得系统参数管理的ID,求大神
可以参考以下代码:
<pre name="code" class="html"><td style="height: 35px" colspan="7">
<input id="fm_AEType" class="easyui-combotree" style="width: 240px" />
<label id="fm_AETypePath" />
</td></pre>
javascript页面(包括数据初始化):
initAEType: function ()
$.ajax(
url: AEActionUrl + '?action=listaetype&ParentType=',dataType: 'json',success: function (jsonstr)
$('#fm_AEType').combotree(
data: jsonstr, editable: false,//lines: true, valueField: 'AE_TYPE_ID',textField: 'AE_TYPE_NAME',onLoadSuccess: function ()
$('#fm_AEType').combotree('tree').tree("collapseAll");
onSelect: function (item)
var parent = item;
var tree = $('#fm_AEType').combotree('tree');
var path = new Array();
do
path.unshift(parent.text);
var parent = tree.tree('getParent', parent.target);
while (parent);
var pathStr = '';
for (var i = 0; i < path.length; i++)
pathStr += path[i];
if (i < path.length - 1)
pathStr += ' - ';
$('#fm_AETypePath').text(pathStr);
);
);
当单击按钮时触发事件,在这个事件中可以获得srcElement也就是事件节点。
通过这个事件节点,我们可以使用标准中parentNode属性,开获得其父节点元素,一直通过这个属性找到type为UL的节点,也就是所有li的父节点元素。
通过UL的childNodes属性,获得所有的li子节点,然后再在li中处理其子节点的相关属性,就可以达到你所说的目的了。
var node = $('#tt2').tree('getSelected');
var parent = $('#tt2').tree('getParent', node.target);
var str='node:'+node.text+', allParents: '+parent.text;
while(1)
parent = $('#tt2').tree('getParent', parent.target);
if(parent)
str+=', '+parent.text;
else break;
alert(str);
参考技术B 点击的节点为node
var node1=$('treeid').tree('getParent',node.target);
var node2=$('treeid').tree('getParent',node1.target);
获取node2的id就可以了 参考技术C 用两次getParent呗...
Element UI tree 组件 获取所选最高一级的节点
参考技术A 最近有了新的需求,要求可以展示一棵机构树,然后可以选择某些节点。所选节点如果它和它的兄弟节点都被选中,那么所选结果就是它们的父节点。如下例子:
选择三级1-1-1、三级1-1-2(或二级1-1),所得结果为一级1;选择二级2-1、二级2-2,所得结果一级2
项目使用Element UI框架,查找了tree组件对外接口,没有提供,然后自己结合tree组件的方法实现一下
在点击某个节点,选择状态完成更新后的回调函数中,判断当前点击节点的父节点是否选中,若选中,就把该父节点下的所有子节点从结果数组中移除,把当前节点加入结果数组,然后判断该父节点的父节点是否选中,循环上述步骤直到它们的根节点或状态为未选中;若该父节点未选中,检查当前节点状态是否为选中,选中,则加入结果数组,否则就认为是当前点击操作取消了之前的选中状态,那么就需要在结果数组中删除当前点击项,考虑到之前可能是点击节点的父节点被选中状态,所以需要针对这个情况,需要在结果数组中删除父节点项,加入除当前点击项外的兄弟节点项(因为结果数组中存储的是最高一层的所选节点,所以不需要处理点击项的子节点)
tree组件中
使用方法
展示时删除某一选中项
以上是关于easyui tree获取父节点的父节点的主要内容,如果未能解决你的问题,请参考以下文章
EasyUI tree 选中父节点子节点全部选中,选中子节点父节点不选中