Jstree - set_id 函数不起作用
Jstree - set_id function does not work
我正在尝试根据 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
.
中获得价值
或者您可以在 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");
我正在尝试根据 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
.
或者您可以在 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");