Home  >  Article  >  Web Front-end  >  jquery ztree implements tree search function_jquery

jquery ztree implements tree search function_jquery

WBOY
WBOYOriginal
2016-05-16 15:13:391332browse

The example in this article shares the tree search function implemented by jquery ztree for your reference. The specific content is as follows

var userZTree; 
var userSetting={ 
  check: { 
   enable: true, 
   chkStyle: "radio", 
   chkboxType : {"Y" : "" , "N" : ""}, 
   radioType: "all" 
  }, 
  data: { 
   simpleData: { 
    enable: true, 
    idKey : "id", 
    pIdKey : "pid" 
   } 
  }, 
  callback:{ 
   onClick : clickCheck 
  }, 
  view :{ 
   showIcon: false, 
   fontCss: getFontCss 
  } 
}; 

Add an attribute here: view: {fontCss: getFontCss}
Here is a method of getFontCss written for myself:

function getFontCss(treeId, treeNode) { 
 return (!!treeNode.highlight) ? {color:"#A60000", "font-weight":"bold"} : {color:"#333", "font-weight":"normal"}; 
} 

In this way, the color changing function can be realized;
Next, you need to add a search input box above the display tree you wrote:

<div id="userDiv" class="showParentDiv showDiv" style="z-index:105;display: none;"> 
  <div class="grayBg"> 
   <div class="toolbar"> 
   <input type="button" value=" <s:text name='button.submit'/> " onclick="submitUser();"/> 
   <input type="button" value=" <s:text name='button.cancel'/> " onclick="closeUserDiv();"/> 
    <input type="button" value=" 新建 " onclick="toAddDiv();"/> 
  </div> 
  </div> 
  <div style="text-align:left;margin:5px;height: 15px;">按名字过滤:<input type="text" id="dicKey" onkeyup="changeColor('userTree','name',this.value)"/></div> 
  <ul id="userTree" class="ztree" style="height:350px; overflow-y:scroll;"></ul> 
</div>

Here you can see that the changeColor method is called:

//使用搜索数据 加高亮显示功能,需要2步 
//1.在tree的setting 的view 设置里面加上 fontCss: getFontCss 设置 
//2.在ztree容器上方,添加一个文本框,并添加onkeyup事件,该事件调用固定方法 changeColor(id,key,value) 
// id指ztree容器的id,一般为ul,key是指按ztree节点的数据的哪个属性为条件来过滤,value是指过滤条件,该过滤为模糊过滤 
function changeColor(id,key,value){ 
 treeId = id; 
 updateNodes(false); 
 if(value != ""){ 
  var treeObj = $.fn.zTree.getZTreeObj(treeId); 
  nodeList = treeObj.getNodesByParamFuzzy(key, value); 
  if(nodeList && nodeList.length>0){ 
   updateNodes(true); 
  } 
 } 
} 
function updateNodes(highlight) { 
 var treeObj = $.fn.zTree.getZTreeObj(treeId); 
 for( var i=0; i<nodeList.length; i++) { 
  nodeList[i].highlight = highlight; 
  treeObj.updateNode(nodeList[i]); 
 } 
} 

treeObj.getNodesByParamFuzzy(key, value); 

is the ztree function retrieved;
This is ok and the search function can be implemented.

The above is the relevant information about the ztree implementation of the tree search function analyzed for everyone. I hope it can help everyone learn.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn