Как получить визуализированные данные дерева при загрузке страницы - PullRequest
0 голосов
/ 09 октября 2018

Как мне получить все визуализированное дерево 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 голосов
/ 09 октября 2018

Чтобы получить значения id, вы можете использовать map() в массиве, который вы предоставляете экземпляру jsTree, например:

$(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>
...