jtree:通过Id获取节点并创建子节点
jsTree: Getting a node by Id and creating a child
我在web上的几个地方发现了jsTree创建/get_node函数,但无法使此工作。当用户单击按钮时,我需要使用其Id获取父节点并创建子节点(参见jsfiddle)。这段代码有什么问题?
这是HTML:
<form>
<input value="Create Child" type="button" onclick="createChild();" />
</form>
<div id="treediv" />
这是javascript:
var sqltree = [
{ "data" : "Node1", "metadata": { "id" : "id1" } , "attr":{"rel":"rel1"} },
{ "data" : "Node2", "metadata": { "id" : "id2" }, "attr":{"rel":"rel2"} },
{ "data" : "Node3", "metadata": { "id" : "id3" }, "attr":{"rel":"rel3"} }
];
$("#treediv").jstree({
"json_data" : { "data" : sqltree },
"plugins" : [ "json_data", "ui", "crrm", "types" ]
});
function createChild(){
alert ('createChild invoked');
var newNode = { data: "Child1" };
var parentNode = $('#treediv').get_node("[id='id2']");
$("#treediv").jstree("create",parentNode,"first",newNode,false,true);
}
如果引用jtree实例:
treeInst = $('#treediv').jstree() # create new instance
treeInst = $('#treediv').jstree(true) # get existing instance
然后你可以通过它的id得到一个节点:
node = treeInst.get_node( node_id )
变化:
var parentNode = $('#treediv').get_node("[id='id2']");
:
var parentNode = $('#treediv').find("[id='id2']");
相关文章:
- 如何在动态创建的节点上绑定函数
- 选择<李>使用普通JavaScript的子节点,而不是孙节点
- 使用JSTree上下文菜单捕获新创建的节点
- js循环遍历单击的元素子节点
- 如何将数据添加到json的子节点
- 删除HTML节点而不删除其子节点
- 尝试使用HTML5和CSS创建子菜单
- 如何在javascript DOM api中获取具有给定条件的子节点
- 仅使用某些子节点访问xml中父节点的子节点
- 检测单击子节点并发送槽事件处理程序
- TinyMCE 在上下文菜单中创建子菜单
- 追加子节点创建一个新节点
- JSTREE:创建一个新的子节点
- 如何为php中现有的子节点数据创建警报消息
- 是否可以创建为父组件提供配置的子节点
- 如果动态创建,单击不起作用的子节点
- dijit.从树到子节点的树dn不会在目标树中创建
- jtree:通过Id获取节点并创建子节点
- 用于创建子元素并附加到父节点的通用函数
- 如何在节点.js中为用户创建子域