Sta*_*low 12 javascript jquery jquery-plugins jquery-selectors jstree
如何让所有节点都出现在jsTree中?
我正在用xml构建jsTree
Root
-----A
-----A1
-----A1.1
-----A1.2
-----A2
-----`A2.1`
-----A2.2
-----B
-----B1
-----B2
-----C
-----C1
-----C1.1
-----C2.2
Run Code Online (Sandbox Code Playgroud)
我想要jsTree中存在的所有节点(ID)的数组如下
预期产出:[Root,A,A1,A1.1,A1.2,A2,A2.1,A2.2,B,B1,B2,C,C1,C1.1,C2.2]
解决方案示例:)
var xmlString = $("#tree").jstree("get_xml");
var xmlDOM = $.parseXML(xmlString);
var IDList =[];
var items = $(xmlDOM).find('root item');
$.each (items, function(key, val){
IDList.push($(val).attr('id'));
})
IDList.pop();
Run Code Online (Sandbox Code Playgroud)
xmlString =
<root>
<item id="A" parent_id="0" state="close">
<content><name>Charles Madigen</name></content>
</item>
<item id="A1" parent_id="A" state="close">
<content><name>Charles Madigen</name></content>
</item>
.
.
</root>
Run Code Online (Sandbox Code Playgroud)
输出:Root,A,A1,A1.1,A1.2,A2,A2.1,A2.2,B,B1,B2,C,C1,C1.1,C2.2
:)
您可以遍历每个节点元素并将其 id 放入数组中:
var idList = [];
var jsonNodes = $('#tree').jstree(true).get_json('#', { flat: true });
$.each(jsonNodes, function (i, val) {
idList.push($(val).attr('id'));
})
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
24048 次 |
最近记录: |