ホームページ  >  記事  >  ウェブフロントエンド  >  jquery ztree はツリー検索 function_jquery を実装します

jquery ztree はツリー検索 function_jquery を実装します

WBOY
WBOYオリジナル
2016-05-16 15:13:391332ブラウズ

この記事の例では、jquery ztree によって実装されたツリー検索機能を参考として共有します。具体的な内容は次のとおりです。

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

ここに属性を追加します: view: {fontCss: getFontCss}
これは私自身のために書かれた getFontCss のメソッドです:

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

このようにして、色変更機能を実現できます。
次に、作成した表示ツリーの上に検索入力ボックスを追加する必要があります:

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

ここでは、changeColor メソッドが呼び出されていることがわかります。

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

は取得された ztree 関数です。 これで検索機能が実装できました。

上記は、ツリー検索機能の ztree 実装に関する分析情報であり、皆さんの学習に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。