jsTree: Как получить ранее выбранный идентификатор узла дерева? - PullRequest
1 голос
/ 04 июня 2010

Я использую jsTree и у меня есть 2 текстовых поля:

<input type="text" id="previous_tree_id" value="" /><hr />
<input type="text" id="current_tree_id" value="" />

В обратном вызове jsTree у меня есть:

$("#demo_1").tree({    
    callback : {
        onselect : function (NODE, TREE_OBJ) {
            var selected_tree_id = $(NODE).attr('id');
            $("#current_tree_id").val(selected_tree_id);
        }
    }
});

Моя проблема

Как поместить идентификатор ранее выбранного элемента дерева в текстовое поле previous_tree_id? Идентификаторы моего дерева - просто числа, и у меня есть 3 элемента дерева.

ID дерева: 1, 2, 3

Так, например, если есть 3 элемента дерева, и я сначала выбираю первый элемент дерева, то:

Действие : - выберите идентификатор дерева 1

выход : - текстовое поле previous_tree_id = 1 - текстовое поле current_tree_id = 1

Затем после этого я выберу идентификатор дерева 2:

Действие : - выберите идентификатор дерева 2

выход : - текстовое поле previous_tree_id = 1 - текстовое поле current_tree_id = 2

Тогда после этого я выберу идентификатор дерева 3:

Действие : - выберите идентификатор дерева 3

выход : - текстовое поле previous_tree_id = 2 - текстовое поле current_tree_id = 3

Это просто логика javascript, которую я должен решить, или мне не хватает некоторой функции jsTree для получения ссылки / ранее выбранного элемента дерева?

Заранее спасибо. - Марк

1 Ответ

1 голос
/ 04 июня 2010

Проблема решена с помощью Джоджо.

$("#demo_1").tree({    
    callback : {
        onselect : function (NODE, TREE_OBJ) {
            var selected_tree_id = $(NODE).attr('id');

            // update first the previous_tree_id textbox
            $("#previous_tree_id").val(current);
            // store the new selected tree id in the current_tree_id
            $("#current_tree_id").val(selected_tree_id);
        }
    }
});
...