jquery ztree实现树的搜索功能
作者:bea
本文实例分享了jquery ztree实现树的搜索功能,供大家参考,具体内容如下 var userZTree; var userSetting={ check: { enable: true, chkStyle: "radio", chkboxType : {"Y" : "" , "N" : ""}, radioType: "all" }, data: { simpleData: { enable: true, idKey : "id",
本文实例分享了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函数; 这样就ok了 ,可以实现搜索功能了。
更多关于ztree控件的内容,请参考专题《jQuery插件ztree使用汇总》 。
以上就是为大家分析的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函数; 这样就ok了 ,可以实现搜索功能了。
更多关于ztree控件的内容,请参考专题《jQuery插件ztree使用汇总》 。
以上就是为大家分析的ztree实现树的搜索功能的相关资料,希望能够对大家的学习。
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
- jQuery插件实现文字无缝向上滚动效果代码
- jQuery zTree加载树形菜单功能
- JavaScript实现搜索框的自动完成功能(一)
- jquery插件之文字间歇自动向上滚动效果代码
- jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载)
- 利用jQuery中的ajax分页实现代码
- Jquery zTree 树控件异步加载操作
- jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
- js判断图片加载完成后获取图片实际宽高的方法
- JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
- jquery zTree异步加载简单实例讲解
- JavaScript代码因逗号不规范导致IE不兼容的问题
- jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
- JQuery ztree带筛选、异步加载实例讲解
- jquery ztree实现模糊搜索功能
- jQuery实现从身份证号中获取出生日期和性别的方法分析
- jquery实现列表上下移动功能
- js简单判断移动端系统的方法