jquery ztree实现树的搜索功能
本文实例分享了jqueryztree实现树的搜索功能,供大家参考,具体内容如下
varuserZTree; varuserSetting={ 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为自己写的一个方法:
functiongetFontCss(treeId,treeNode){ return(!!treeNode.highlight)?{color:"#A60000","font-weight":"bold"}:{color:"#333","font-weight":"normal"}; }
这样就可以实现变色功能了;
接下来要在自己写的显示树上方加一个搜索输入框:
<divid="userDiv"class="showParentDivshowDiv"style="z-index:105;display:none;"> <divclass="grayBg"> <divclass="toolbar"> <inputtype="button"value="<s:textname='button.submit'/>"onclick="submitUser();"/> <inputtype="button"value="<s:textname='button.cancel'/>"onclick="closeUserDiv();"/> <inputtype="button"value="新建"onclick="toAddDiv();"/> </div> </div> <divstyle="text-align:left;margin:5px;height:15px;">按名字过滤:<inputtype="text"id="dicKey"onkeyup="changeColor('userTree','name',this.value)"/></div> <ulid="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是指过滤条件,该过滤为模糊过滤 functionchangeColor(id,key,value){ treeId=id; updateNodes(false); if(value!=""){ vartreeObj=$.fn.zTree.getZTreeObj(treeId); nodeList=treeObj.getNodesByParamFuzzy(key,value); if(nodeList&&nodeList.length>0){ updateNodes(true); } } } functionupdateNodes(highlight){ vartreeObj=$.fn.zTree.getZTreeObj(treeId); for(vari=0;i<nodeList.length;i++){ nodeList[i].highlight=highlight; treeObj.updateNode(nodeList[i]); } } treeObj.getNodesByParamFuzzy(key,value);
是检索的ztree函数;
这样就ok了,可以实现搜索功能了。
更多关于ztree控件的内容,请参考专题《jQuery插件ztree使用汇总》。
以上就是为大家分析的ztree实现树的搜索功能的相关资料,希望能够对大家的学习。