zTree 樹形中的搜索定位節點


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>

<div>
<input id="keyword" type="text" placeholder="搜索關鍵字">
<!--<button id="search-bt">搜索</button>-->
</div>

<div class="content" style="width:250px; height:362px;">
<ul id="treeA" class="ztree"></ul>
</div>

 

<script>

$(function(){
init();
setCheck();
})

function setCheck() {
var zTree = $.fn.zTree.getZTreeObj("treeA");
type = { "Y":p + s, "N":p + s};
zTree.setting.check.chkboxType = type;
showCode('setting.check.chkboxType = { "Y" : "' + type.Y + '", "N" : "' + type.N + '" };');
}

function init(){
var zNodes=[
{ id:123456, pId:0, name:"西瓜", open:true},
{ id:1, pId:123456, name:"蘋果", open:true},
{ id:11, pId:1, name:"檸檬", open:true},
{ id:111, pId:11, name:"菠蘿"},
{ id:112, pId:11, name:"香蕉"},
{ id:12, pId:1, name:"橘子", open:true},
{ id:121, pId:12, name:"哈密瓜"},
{ id:122, pId:12, name:"楊桃"},
{ id:123, pId:12, name:"水蜜桃"},
{ id:124, pId:12, name:"梨子"},
{ id:125, pId:12, name:"柿子"},
{ id:126, pId:12, name:"葡萄"},
{ id:127, pId:12, name:"提子"},
{ id:128, pId:12, name:"櫻桃"},
{ id:2, pId:123456, name:"部門2", checked:true, open:true},
{ id:21, pId:2, name:"部門2.1"},
{ id:22, pId:2, name:"部門2.2", open:true},
{ id:221, pId:22, name:"部門2.2.1", checked:true},
{ id:222, pId:22, name:"部門2.2.2"},
{ id:23, pId:2, name:"部門2.3"},
{ id:24, pId:2, name:"部門2.4"},
{ id:25, pId:2, name:"部門2.5"},
{ id:26, pId:2, name:"部門2.6"},
{ id:27, pId:2, name:"部門2.7"},
{ id:28, pId:2, name:"部門2.8"},
{ id:29, pId:2, name:"部門2.9"}
];

var setting = {
check: {
enable: true
},
data: {
simpleData: {
enable: true
}
},
};

zTreeObj = $.fn.zTree.init($("#treeA"), setting, zNodes);
$("#search-bt").click(searchNodes);
};

//用按鈕查詢節點
function searchNodes(){
var treeObj = $.fn.zTree.getZTreeObj("treeA");
var keywords=$("#keyword").val();
var nodes = treeObj.getNodesByParamFuzzy("name", keywords, null);  //根據節點數據的屬性搜索,獲取條件模糊匹配的節點數據 JSON 對象集合,(keywords)模糊匹配只能針對 String 類型的數據
if (nodes.length>0) {
treeObj.selectNode(nodes[0]); //會讓節點自動滾到到可視區域內
}
}

//input框變化時查詢節點
document.getElementById("keyword").addEventListener("input", test, false);
function test(){
var treeObj = $.fn.zTree.getZTreeObj("treeA");
var keywords=$("#keyword").val();
var nodes = treeObj.getNodesByParamFuzzy("name", keywords, null);
if (nodes.length>0) {
treeObj.selectNode(nodes[0]);
}
}

 

</script>

//treeObj.getNodesByParamFuzzy();方法和treeObj.selectNode();不明之處可參考 zTree v3.5.30 API 文檔

 

</body>
</html>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM