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中处理其子节点的相关属性,就可以达到你所说的目的了。

参考技术A function getFathers() //找所有上级父节点
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 怎么获取选择子节点及父节点 的值

EasyUI tree 选中父节点子节点全部选中,选中子节点父节点不选中

easyui tree怎么获取所有节点

vue_elementUI_ tree树形控件 获取选中的父节点ID

combotree怎样去掉父节点的图标

easyui tree 全部展开在折叠。部分子节点没有折叠