如何在jsTree中将所选节点的所有ID都添加到根节点?

时间:2017-01-04 15:45:18

标签: javascript jstree

如何在jsTree中将所选节点的ID获取到根节点?

假设F和D是选定的节点,我想得到所有的ID包括A B C D F

  • A
      • C
        • d
        • 电子
      • ˚F

以下代码将仅返回立即选择的ID D和F

    var  getMenuIds = function(){
        var menuIds = $("#menu-tree").jstree("get_checked");
        window.alert(menuIds.join(","));
        $('#menuIds').val(menuIds.join(","));
     }

有没有办法获取所有父节点ID,即选择节点到根节点?

1 个答案:

答案 0 :(得分:0)

调用get_path以获取每个所选节点的路径。

类似的东西:

var tree = $("#menu-tree");
var menuIds = tree.jstree("get_checked");
var paths = menuIds.map(function (id) { return tree.jstree("get_path", id); });

// remove duplicates
var selected = [];
var uniq = {};
paths.forEach(function (path) {
  path.forEach(function (id) {
    if (!uniq[id]) {
      uniq[id] = true;
      selected.push(id);
    }
  });
});

window.alert(selected.join(","));