Javascript 使用Ajax调用/延迟加载的JSTree搜索
我在应用程序中使用JSTree 我无法使用ajax调用实现搜索功能 我把我试过的东西放在这里Javascript 使用Ajax调用/延迟加载的JSTree搜索,javascript,jquery,asp.net-mvc,jstree,Javascript,Jquery,Asp.net Mvc,Jstree,我在应用程序中使用JSTree 我无法使用ajax调用实现搜索功能 我把我试过的东西放在这里 $(document).ready(function () { $("#jstree_demo_div").jstree({ "core": { "data": { "url": "Tree/Index", "data": function (node) {
$(document).ready(function () {
$("#jstree_demo_div").jstree({
"core": {
"data": {
"url": "Tree/Index",
"data": function (node) {
return { "id": node.id };
}
}
},
"search": {
"url": "Tree/Index",
"data": function (node) {
return { "id": node };
}
},
"plugins": ["search"],
});
$('#searchTree').on('click', function (event) {
$("#jstree_demo_div").jstree('search', '1');
});
});
每当我按下按钮,它就会进入事件,之后就不会调用服务器
我想要的是在搜索时调用ajax,并根据搜索完全重新创建treeview。
我不明白我该怎么做
我已经检查了以下链接
在上面的问题中,我无法理解什么是“json_数据”,以及为什么和如何使用它
中没有一个示例使用名为“json_data”的变量
请通过示例帮助我了解JSTree Ajax调用/延迟加载如何与搜索功能配合使用。
这对我真的很有帮助。提前感谢。将
搜索设置更改为:
"search": {
"ajax": {
"url": url,
}
},
您的搜索配置需要更正,要使用关键字进行搜索,您需要将关键字传递到url,并且应该使用GET方法检索数据。
试试这个
search.ajax.data
config选项不能是函数-它应该是一个对象(就像普通的jQuery ajax配置一样),jstree将只向该对象添加一个str
属性。至于GET或POST,您可以随意使用,只需指定为search.ajax
就是一个有效的jQuery ajax配置。但它不会传递值。除此之外,我还需要编写“ajax”,因为在加载数据时我不需要编写。只是要求更多的理解。谢谢。它将值传递为?str=1
,只需在浏览器中检查它并查看发送到服务器的url。我不知道,只是通过调试,我意识到它会检查ajax,如果没有找到,它会在本地搜索。是的。正如您所说,它检查“ajax”。我还通过调试找到了。但我无法理解和解决它。谢谢我会通过调试JSTree.js来了解更多。谢谢。是的,我试过了,在搜索中重新创建JSTree怎么样?我的意思是,我有一组节点,我想在执行搜索时显示并展开这些节点。
// Configuring the search plugin
"search" : {
// As this has been a common question - async search
// Same as above - the `ajax` config option is actually jQuery's AJAX object
"ajax" : {
"url" : "Tree/Search",
// You get the search string as a parameter
"data" : function (str) {
return {
"operation" : "search",
"q" : str
};
}
}
},