我有一个使用JsTree的ASP.NET MVC 4.0项目。正在填充JsTree,认为是一个返回JSON的模型。
现在我的问题是,我有一棵巨大的树,让用户体验非常糟糕。我需要的是加载一些项目(我们20),并有一个按钮,当用户点击时,将接下来的20条记录添加到树中。
我一直在Google JsTree文档中搜索,但是我没有找到适合我的示例。
任何人都可以帮助我吗?
先谢谢。
好吧,有些人打破了局面。我有点工作了。在我看来,用户输入调用此函数:
function getNextRecords(){
var new_data = { "attr": { "ID": "999999999999", "NodeText": "999999999999" },
"data": "999999999999",
"children": [{
"attr": { "ID": "ACT99", "NodeText": "969994222" },
"data": "969994222 - PPP",
"children": [{
"attr": { "ID": "TRFps800", "rel": "disabled" },
"data": "Voz com unlimited 800 fidelização até 01/11/2019",
"state": "open"
}],
"state": "open"
}], "state": "open"
};
var retDom = $.jstree._reference("#demoTree")._parse_json(new_data, -1, true);
$("#demoTree").jstree("move_node", retDom, -1, "inside", false, false, true);
}
这工作正常,期望解析json创建一个“ul”而不是“li”如何改变它的任何想法?
答案 0 :(得分:2)
好的,我终于有了这个工作,这是我的功能的最终版本,我希望这可以帮助某人。
function getNextRecords() {
var new_data = { "attr": { "ID": "999999999999", "NodeText": "999999999999" },
"data": "999999999999",
"children": [{
"attr": { "ID": "ACT99", "NodeText": "969994222" },
"data": "969994222 - PPP",
"children": [{
"attr": { "ID": "TRFps800", "rel": "disabled" },
"data": "Voz com unlimited 800 fidelização até 01/11/2019",
"state": "open"
}], "state": "open"
}], "state": "open"
};
var ref = $("li ul:first")
var retDom = $.jstree._reference("#demoTree")._parse_json(new_data, ref, true);
$("#demoTree").jstree("move_node", retDom, ref, "first", false, false, true);
}
在第一个UL之后添加一个新孩子。
答案 1 :(得分:0)
The second part "load part of the branch and with another load of the same branch
load more" is exactly what i'm trying to do but i have not yet succeeded, is it
possible to have an example?
必须在服务器端处理此类任务。就是这样: jsTree只显示传递给它的任何东西。因此,您可以决定首先加载什么,然后您可以使用按钮(仅重新加载整个树或分支)来加载更多或替换加载的内容。不要忘记逻辑(几乎)与jsTree无关。