ztree搜索结果高亮变颜色(非highlight属性)
有些教程说设置node的highlight属性为true可以高亮,但是我测试过不生效,也许是版本问题,或者其他问题,我写代码把结点颜色换了一下,也算是曲线救国了。
Html 搜索内容输入框:
<input id="searchKey" onclick="searchNodes" type="text" placeholder="输入查询信息" />
JS查询处理:
function searchNodes() {
var searchKey = $('#searchKey').val();
if (searchKey == '' || searchKey == null) {
return;
}
var treeObj = $.fn.zTree.getZTreeObj("dataTree");
if (treeObj != null) {
// 把所有节点取消高亮
var allNodes = treeObj.transformToArray(treeObj.getNodes());
for(var i = 0; i < allNodes.length; i++) {
$('#' + allNodes[i].tId + '_a').css('color', '#333')
treeObj.updateNode(allNodes[i]);
}
// 把查询结果高亮
var nodes = treeObj.getNodesByParamFuzzy("name", searchKey, null);
for(var i = 0; i < nodes.length; i++) {
$('#' + nodes[i].tId + '_a').css('color', 'blue')
treeObj.updateNode(nodes[i]);
}
}
}
2022-12-09更新:上面代码现在发现了一个BUG,就是只有展开的结点才能搜索得到
.
感谢您的阅读,欢迎参观我的个人网站:小嗨词典【 https://www.happydict.cn】
.