Jquery EasyUI Combotree根据选中的值展开所有父节点 

Jquery EasyUI Combotree 展开父节点,

Jquery EasyUI Combotree根据子节点选中的值,展开前面所有父节点,

Jquery EasyUI Combotree获取选中的值

================================

©Copyright 蕃薯耀 2018年5月7日

http://www.cnblogs.com/fanshuyao/

一、Combotree获取父节点的方法getParent,这其实是继承来自tree插件

  1. Name        Parameter      Description
  2. getParent   target         Get the parent node,
  3. the target parameter indicate the node DOM object.

Tree获取父节点:

  1. $("#treeId").tree("getParent", node.target);

Combotree获取父节点:

  1. var treeObj = $("#combotreeId").combotree("tree");//先获取combotree的树对象
  2. var parentNode = treeObj.tree("getParent", node.target);

二、Combotree获取选中的值

  1. var treeObj = $("#combotreeId").combotree("tree");//先获取combotree的树对象
  2. var nodesChecked = treeObj.tree("getChecked");//再通过树对象获取树所有选中的值,有可能有多个

三、展开父节点

  1. $("#treeId").tree("expand", node.target);//node一般是父节点

四、根据叶子节点选中的值,展开所有父节点

展开所有父节点的方法(递归展开父节点):

  1. /**
  2. * 根据叶子节点展开所有父节点
  3. * @param treeObj 树对象,(combotree的树对象获取:var treeObj = comboObj.combotree("tree");)
  4. * @param node 叶子节点
  5. */
  6. function expandParent(treeObj, node){
  7. var parentNode = treeObj.tree("getParent", node.target);
  8. if(parentNode != null && parentNode != "undefined"){
  9. treeObj.tree("expand", parentNode.target);
  10. expandParent(treeObj, parentNode);
  11. }
  12. };

具体使用如下:

  1. $("#cmm_code_id").combotree({
  2. multiple: true,
  3. required : true,
  4. checkbox : true,
  5. onlyLeafCheck : true,//只能叶子节点才能勾选
  6. url : "${pageContext.request.contextPath}/xxx",
  7. onBeforeSelect : function(node){
  8. $(this).tree("check", node.target);//控制点击文字时也能勾选
  9. return false;
  10. },
  11. onBeforeCheck : function(node, checked){
  12. if(checked){//如果是勾选操作,则把之前选中的节点清除(不勾选)
  13. var nodes = $(this).tree("getChecked");
  14. if(nodes.length > 0){
  15. for(var i=0; i<nodes.length; i++){
  16. $(this).tree("uncheck", nodes[i].target);
  17. }
  18. }
  19. }
  20. },
  21. onLoadSuccess : function(node, data){
  22. var cmm_code_id_value = "${buildingNaming.cmm_code_id}";
  23. if(cmm_code_id_value != null && $.trim(cmm_code_id_value) != ""){
  24. var comboObj = $("#cmm_code_id");
  25. var treeObj = comboObj.combotree("tree");
  26. comboObj.combotree("setValue", cmm_code_id_value);
  27. var nodesChecked = treeObj.tree("getChecked");
  28. if(nodesChecked.length > 0){
  29. for(var i=0; i<nodesChecked.length; i++){
  30. expandParent(treeObj, nodesChecked[i]);
  31. }
  32. }
  33. }
  34. }
  35. });

================================

©Copyright 蕃薯耀 2018年5月7日

http://www.cnblogs.com/fanshuyao/

Jquery EasyUI Combotree根据选中的值展开所有父节点的更多相关文章

  1. Jquery EasyUI Combotree和 EasyUI tree展开所有父节点和获取完整路径

    Jquery EasyUI Combotree展开所有父节点 Jquery EasyUI Combotree获取树完整路径 Jquery EasyUI tree展开所有父节点 Jquery EasyU ...

  2. Jquery EasyUI Combotree 初始化赋值

    Jquery EasyUI Combotree 初始化赋值 ================================ ©Copyright 蕃薯耀 2018年5月7日 https://www. ...

  3. Jquery EasyUI Combotree只能选择叶子节点且叶子节点有多选框

    Jquery EasyUI Combotree只能选择叶子节点且叶子节点有多选框 Jquery EasyUI Combotree单选框,Jquery EasyUI Combotree只能选择叶子节点 ...

  4. jquery怎么获取radio选中的值

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. ASP.NET页面使用JQuery EasyUI生成Dialog后台取值为空

    原因: JQuery EasyUI生成Dialog后原来的文档结构发生了变化,原本在form里的内容被移动form外面,提交到后台后就没有办法取值了. 解决办法: 在生成Dialog后将它append ...

  6. jQuery如何获得select选中的值?input单选radio选中的值

    jQuery取得select选中的值 本来以为jQuery("#select1").val();是取得选中的值, 那么jQuery("#select1").te ...

  7. jQuery之获取select选中的值

    本来以为jQuery("#select1").val();是取得选中的值, 那么jQuery("#select1").text();就是取得的文本. 这是不正确 ...

  8. jquery获取单选button选中的值

    在页面上单选button的代码: <s:iterator value="@com.hljw.cmeav.util.CmeavGlobal@isComMap"> < ...

  9. EasyUI:combotree(树形下拉框)复选框选中父节点(子节点的状态也全部选中)输入框中只显示父节点的文本值

    参考: https://blog.csdn.net/weixin_43236850/article/details/100320564

随机推荐

  1. day4函数文件操作

    一.高效读取文件 1.使用with打开文件,程序运行完后会自动关闭打开的文件 2.修改文件,将文件中的123替换为a(简单粗暴方式) 3.打开两个文件,修改后将旧文件删除,将新文件名字改成旧文件的名称 ...

  2. 利用Ajax和JSON实现关于查找省市名称的二级联动功能

    功能实现的思路:我们经常碰见网上购物时候填写收件地址会用到这个查找省市县的三级联动查找功能,我们可以利用Ajax和JSON技术模拟这个功能,说白了同样是使用Ajax的局部数据更新功能这个特性.因为省市 ...

  3. uestc 猛男搜索26题 by qscqesze

    https://vjudge.net/contest/202940#overview 不断更新

  4. 深度优先搜素之N皇后问题

    #include<stdio.h>#include<malloc.h>#include<math.h>int x,a[101],book[101],count=0; ...

  5. ios程序中存储的回忆

    可编程序中的存储区域基本上分为:静态存储区,栈区,堆区,代码区. 1.静态存储区(全局存储区):该块内存在程序编译期间就已经分配好,并且在程序运行期间都一直存在,主要用于存储静态数据,全局数据和常量. ...

  6. Vmware下mint os的安装

    在vmware 11中,mint倒是很好安装.直接读取iso文件,会自动进入一个类似WindowsPE的安装系统,直接双击开始安装就好,比较傻瓜化. 但是安装好了,字体太小,看着很不舒服,于是就倒腾V ...

  7. Mybatis : "less than" issue in Select annotations

    I am using java7, spring 3 and mybatis Pom.xml <org.mybatis-version>3.2.8</org.mybatis-vers ...

  8. 为什么样本方差分母是n-1

    https://blog.csdn.net/qq_39521554/article/details/79633207 为什么样本方差的分母是n-1?为什么它又叫做无偏估计? 至于为什么是n-1,可以看 ...

  9. Elasticsearch跨集群搜索(Cross Cluster Search)

    1.简介 Elasticsearch在5.3版本中引入了Cross Cluster Search(CCS 跨集群搜索)功能,用来替换掉要被废弃的Tribe Node.类似Tribe Node,Cros ...

  10. docker-mysql-cron-backup不能执行任务

    https://github.com/shiningrise/docker-mysql-cron-backup CRON_TIME=“0 18 * * * ?” 改为 CRON_TIME=0 18 * ...