jquery - Jstree - set_id 函数不起作用

标签 jquery treeview jstree

我试图根据数据库 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 ,id)

$("#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 函数之前我犯了一些小错误。

最佳答案

它应该可以工作 - 检查 fiddle :Fiddle 。也许您没有在 output.newId 中获得值(value)。

或者您可以在成功的 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");

关于jquery - Jstree - set_id 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34699873/

相关文章:

Python 3.3.2 tkinter ttk TreeView 每列排序仅按最后一列排序?

javascript - 输入字段 - 千位 (1,000) 和小数 (.00) 的财务计算和逗号显示

JavaScript 将变量数值存储为 cookie 或 session

wpf - 在显示上下文菜单之前右键单击选择 TreeView 节点

python - 如何删除 python tkinter treeview 中的所有行?

PHP/MySQL : Import data and store in hierarchical nested set for use with jsTree

javascript - 不允许用户停止 javascript alert()

jquery - 响应式 slider 中的绝对位置内容

javascript - Jstree - 单击父节点后加载子节点(json)

javascript - 如何在点击父节点时打开子节点