如何在页面加载时获取渲染的树数据

时间:2018-10-09 16:30:06

标签: javascript jquery jstree

如何在metadata的页面加载时获取所有渲染的树jstree,如下所示:

[23,24]

注意:我希望将id对象中的每个metadata放在页面加载[23,24]上时都这样

$(function() {
  $('#jstree').jstree({
    "json_data": {
      "data": [{
        "data": "A node",
        "metadata": { id: 23 },
        "children": ["Child 1", "A Child 2"]
      }, {
        "metadata": { "id": 24 },
        "data": "Node 2",
      }]
    },
    "plugins": ["themes", "json_data", "ui"]
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://old.static.jstree.com/v.1.0pre/jquery.jstree.js"></script>
<div id="jstree">
</div>

1 个答案:

答案 0 :(得分:1)

要检索id值,可以在提供给jsTree实例的数组上使用map(),如下所示:

$(function() {
  var treeStructure = [{
    "data": "A node",
    "metadata": { id: 23 },
    "children": ["Child 1", "A Child 2"]
  }, {
    "metadata": { "id": 24 },
    "data": "Node 2",
  }];
  
  var ids = treeStructure.map(function(o) {
    return o.metadata.id;
  });
  console.log(ids);

  $('#jstree').jstree({
    "json_data": {
      "data": treeStructure
    },
    "plugins": ["themes", "json_data", "ui"]
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://old.static.jstree.com/v.1.0pre/jquery.jstree.js"></script>
<div id="jstree"></div>

相关问题