Javascript 在非根节点中使用refresh_节点时出现Jstree问题
我使用jstree来显示一些节点,包括DnD、Type和Contextmenu插件。 我得到的是完整的树,没有任何问题,正确地显示了它,我可以选择任何节点,但是,在一个节点上使用Ajax调用服务器的更新操作之后,我只想刷新这个节点。刷新nodemyNode操作就是我想要的,Ajax调用工作正常,只提供了我需要的子树部分 但是,当jstree试图重画时,我得到一个关于不存在的变量的错误。我调试了它,注意到一些节点的父数组已经消失 我使用替代JSON格式加载我的树,配置如下:Javascript 在非根节点中使用refresh_节点时出现Jstree问题,javascript,jstree,Javascript,Jstree,我使用jstree来显示一些节点,包括DnD、Type和Contextmenu插件。 我得到的是完整的树,没有任何问题,正确地显示了它,我可以选择任何节点,但是,在一个节点上使用Ajax调用服务器的更新操作之后,我只想刷新这个节点。刷新nodemyNode操作就是我想要的,Ajax调用工作正常,只提供了我需要的子树部分 但是,当jstree试图重画时,我得到一个关于不存在的变量的错误。我调试了它,注意到一些节点的父数组已经消失 我使用替代JSON格式加载我的树,配置如下: core{ m
core{
multiple: false,
data {
url: "my_url_string_to_server",
data: function(node) { return { id: nodeId, /*other params*/ } }
}
}
/*other plugins config*/
以及我对刷新\u节点的调用:
//nodeId is a string with the name of the node I want to refresh.
var node = $.jstree.reference('.tree-data').get_node(nodeId);
$.jstree.reference('.tree-data').refresh_node(node);
//I tried refresh_node(nodeId) too, with the same error result.
我的所有树节点都是:
{
身份证,唯一身份证,
父:父},
text,Name},
国家:{},
类型:类型
li_attr:{
{title,title},
{class,class}
}
a_attr:{
{class,class}
},
数据:{
{dbid,Id},
{dbparent,ParentId},
{状态,状态ID}
}
}
如jstree文档中所述
作为ajax调用的结果,返回它们所需节点和所有子节点的列表并不关心是对根节点的调用还是对另一个非根节点的调用
拜托,你能告诉我我做错了什么吗
非常感谢您。我发现了一个问题:当您使用根id以外的id调用时,请刷新处理节点id的子节点。我的方法是返回根节点和子节点,这是错误的。并没有直接从DB更新单个节点的函数,但这个问题展示了如何从js更新它们,所以,我将尝试通过ajax调用获取新状态来更新它们,并使用该响应来更新所有数据并手动重画 希望这能对其他人有用 谢谢大家