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

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

Jquery EasyUI Combotree 展开父节点,

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

Jquery EasyUI Combotree获取选中的值

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

?Copyright 蕃薯耀 2018年5月7日

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

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

Js代码

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

Tree获取父节点:

Js代码

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

Combotree获取父节点:

Java代码

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

二、Combotree获取选中的值

Java代码

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

三、展开父节点

Js代码

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

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

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

Js代码

  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. };

具体使用如下:

Js代码

  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/

原文地址:https://www.cnblogs.com/fanshuyao/p/9004016.html

时间: 2024-10-05 19:19:57

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

jquery获取checkbox被选中的值

只用一个循环,就可以找出被选中的checkbox的值 var s; $("[name = b]:checkbox").each(function () {                   if (this.checked) {                       s += $(this).val() + "|";                   }               });alert(s); 这样就可以了 jquery获取checkbox被

jquery获取单选button选中的值

在页面上单选button的代码: <s:iterator value="@[email protected]"> <input type="radio" <s:if test="key eq record.is_com">checked</s:if> value="${key}" name="record.is_com"/>${value}    </s

jquery怎么获取radio选中的值

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

JQuery 如何获取select选中的值

一.html代码 <select id="ddl"> <option value="100" emoney="12" >选项1</option> <option value="200" emoney="13" >选项2</option> <option value="300" emoney="14" &

JQuery 获取checkbox被选中的值

html代码 <ulid="dxbox">            <li><inputtype="checkbox" name="dns_area" id="chk1" value="jsdx"/><span>江苏电信</span></li>                      <li><inputtype=&q

jQuery EasyUI 在datagrid上使用combotree 进行多选

datagrid本身有编辑功能,根据官方说明,在需要编辑的列上,加上editor 属性即可.具体的类型有以下几种: text,textarea,checkbox,numberbox,validatebox,datebox,combobox,combotree. 最近想利用combotree实现一个可以多选的树,途中遇到一些问题,放到这里分享一下: 1. 基本写法: editor="{type:'combotree',options:{url:'datagrid_data.json',multip

jQuery EasyUI 为Combo,Combobox添加清除值功能

效果图: 图标 (function($){          //初始化清除按钮     function initClear(target){         var jq = $(target);         var opts = jq.data('combo').options;         var combo = jq.data('combo').combo;         var arrow = combo.find('span.combo-arrow');         

Jquery怎么获取select选中项 自定义属性的值

Jquery如何获取select选中项 自定义属性的值? HTML code <select id="ddl" onchange="ddl_change(this)"">    <option value="100" emoney="12" gmoney="12">日卡</option>    <option value="102" e

Jquery实际应用,判断radio,selelct,checkbox是否选中及选中的值

jquery取radio单选按钮的值 $("input[name='items']:checked").val(); 另:判断radio是否选中并取得选中的值 如下所示: function checkradio(){ var item = $(":radio:checked"); var len=item.length; if(len>0){ alert("yes--选中的值为:"+$(":radio:checked")