Heim >Web-Frontend >js-Tutorial >jquery ztree implementiert die Baumsuchfunktion_jquery

jquery ztree implementiert die Baumsuchfunktion_jquery

WBOY
WBOYOriginal
2016-05-16 15:13:391391Durchsuche

Das Beispiel in diesem Artikel teilt die von jquery ztree implementierte Baumsuchfunktion als Referenz. Der spezifische Inhalt ist wie folgt

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

Fügen Sie hier ein Attribut hinzu: view: {fontCss: getFontCss}
Hier ist eine für mich selbst geschriebene Methode von getFontCss:

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

Auf diese Weise kann die Farbwechselfunktion realisiert werden
Als Nächstes müssen Sie über dem von Ihnen geschriebenen Anzeigebaum ein Sucheingabefeld hinzufügen:

<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>

Hier sehen Sie, dass die Methode changeColor aufgerufen wird:

//使用搜索数据 加高亮显示功能,需要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); 

ist die abgerufene Ztree-Funktion; Das ist in Ordnung und die Suchfunktion kann implementiert werden.

Die oben genannten Informationen zur ztree-Implementierung der Baumsuchfunktion werden für alle analysiert. Ich hoffe, dass sie jedem beim Lernen helfen können.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn