如何在删除节点时计算父节点的子节点?

时间:2014-05-14 16:38:17

标签: javascript jquery

当用户删除节点时,我们可以在父节点的子节点的控制台中显示警报或打印。 换句话说,当用户将任何节点删除到另一个节点时,我想显示节点丢弃的(childers数量)警报。

这是我的小提琴。 http://jsfiddle.net/fuu94/116/

请运行小提琴展开" c"节点。 拖动" c-a"并且放弃" a"它显示0(零),因为没有孩子。当它落在" b"它显示了2" 2"因为那个节点有两个孩子。

$('#tree').jstree({
    core: {
       check_callback: function (op, node, node_parent) {
          return op == 'move_node' ? node_parent.id.indexOf('not') === -1 : true;
       }
    },
    dnd: {
       is_draggable: function (x) {
          return true;
       }
    },
    "plugins": ["dnd"]
 });

1 个答案:

答案 0 :(得分:0)

似乎有一个move_node事件。但它在下降后触发。我想我们可以假设目标节点在丢弃之前有n-1个子节点,因为jstree不允许将节点放入其父节点。

$tree = $('#tree').jstree({
    core: {
        check_callback: function(op, node, node_parent) {
            return op == 'move_node' ? node_parent.id.indexOf('not') === -1 : true;
        }
    },
    dnd: {
        is_draggable: function(x) {
            return true;
        }
    },
    "plugins": ["dnd"]
});
$tree.on('move_node.jstree', function(e, data) {
    target = $tree.jstree('get_node', data.parent, false);
    children = target.children.length-1;
    alert(children);
});