微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Ajax请求中重新加载jsTree数据

我的jsTree包含树加载时设置的html数据(参见下面的 javascript).这工作正常.但是,我希望能够基于某些用户操作在Ajax请求中重新加载整个树.我基本上需要重新加载从Ajax请求返回的所有树数据.这可能吗?

我目前的代码如下:

function setJoinType(node,joinType) {
    $.ajax({
        type: "POST",url: "qbwizard.aspx/SetJoinType",contentType: "application/json; charset=utf-8",data: "{'alias': '" + node[0].id + "','joinType': '" + joinType + "'}",dataType: "json",success: RedrawJoinSummary,error: AjaxFailed
    });
    return true;
}
function RedrawJoinSummary(data) {
    //$("#tvJoinSummary").jstree('destroy'); 
    $("#tvJoinSummary").jstree("html",data.d);
    $("#tvJoinSummary").jstree("refresh",-1);
}

解决方法

谢谢拉德克.

我实际上通过将jstree初始化代码放入函数(tvJoinWorkspaceTreeviewScriptinit)然后在重置html后调用函数来实现此功能.可能是节点都失去了状态(打开/关闭).我决定使用Ajax回调和javascript再次构建树,因为它最终变得更容易.

$("div#tvJoinWorkspace").html(data);
$("#tvJoinWorkspace").jstree("destroy");
tvJoinWorkspaceTreeviewScriptinit(null);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐