【问题标题】:Jstree - set_id function does not workJstree - set_id 函数不起作用
【发布时间】:2016-01-09 22:53:54
【问题描述】:

我试图根据从数据库调用 ajax 中返回的值将自己的 ID 设置为新创建的节点。它看起来像下面。所有功能都完美运行,例如:

$("#mySelector").jstree(true).rename_node(data.node, newlyCreatedName);

但是 set_id 仍然不能正常工作。我基于官方 jstree API: https://www.jstree.com/api/#/?q=set_id&f=set_id(obj,身份证)

$("#mySelector").jstree({ // my stuff 

})
.bind("create_node.jstree", function (event, data) {
    // some logic
    $.ajax({
            url: uri,
            data: { parameters },
            type: "GET",
            dataType: "json",
            success: function (output) {
                / some logic
                var setIdResult = $("#mySelector").jstree(true).set_id(data.node, output.newId);
                // set_id returns false :/
            }
})

提前感谢您的帮助。

编辑 它有效:)

在触发 set_id 函数之前我犯了一个小错误。

【问题讨论】:

    标签: jquery treeview jstree


    【解决方案1】:

    它应该可以工作 - 检查小提琴:Fiddle。也许您在output.newId 中没有获得价值。

    或者您可以在成功调用 ajax 后创建一个新节点 - 这样您可以将新 id 直接传递给 create_node 函数:

    var parentNodeId = 'someId'; // use id of parent node, null or '#' for root level
    $("#mySelector").jstree()
         .create_node(parentNodeId,  { "id" : newNodeId, "text" : "New node" }, "last");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多