我正在使用 jstree 插件来构建我的树。我的网页中有一个搜索框,我需要用户能够在其中搜索 jstree 节点。
<fieldset id="search">
<input type="text" name="search_field" id="search_field" value="" />
<button id="search_tree">Search</button>
</fieldset>
单击搜索时,jstree 节点应展开,如果找到,节点应突出显示。如果未找到,则应向用户显示错误,如“未找到”。我的代码用于展开下面的所有节点。有没有简单的方法来搜索jstree中的所有节点?
<script type="text/javascript">
$(document).ready(function(){
$("#search_tree").click(function () {
var value=document.getElementById("search_field").value;
$("#tree").jstree("search",value);
});
$("#tree").jstree({
"xml_data" : {
"ajax" : {
"url" : "jstree.xml"
},
"xsl" : "nest"
},
"themes" : {
"theme" : "classic",
"dots" : true,
"icons" : true
},
"search" : {
"case_insensitive" : true,
"ajax" : {
"url" : "jstree.xml"
}
},
"plugins" : ["themes", "xml_data", "ui","types", "search"]
});
});
</script>
我收到此错误:
Instances[...] 为 null 或不是对象。这是一个 jstree 错误。有什么想法吗?
我已将这段代码添加到我的函数中:
"search" : {
"case_insensitive" : true,
"ajax" : {
"url" : "jstree.xml"
}
},
"plugins" : ["themes", "xml_data", "ui","types", "search"]
和
创建了此功能并与我的单击按钮相关联:
function myFunction()
{
$(document).ready(function(){
var value=document.getElementById("search_field").value;
$("#search_tree").click(function () {
$("#tree").jstree("search",value)
});
});
}