Поставлен в тупик на JS Tree ... как получить идентификатор выбранного в данный момент <LI>? - PullRequest
2 голосов
/ 03 марта 2010

Хотелось бы, чтобы у JStree было больше примеров выполнения действий AJAX при удалении узла и т. Д. Например, как он передает идентификатор выбранного узла и передает его в качестве параметра? Потратил несколько часов и не могу понять это.

<li id="10" class="open"><a style="" class="clicked" href="#"><ins>&nbsp;</ins>fff</a> </li> 
<li id="1" class="open"><a href="#"><ins>&nbsp;</ins>111</a> </li> 
<li id="2" class="open"><a href="#"><ins>&nbsp;</ins>aaa</a> <ul> 
<li id="3" class="open"><a href="#"><ins>&nbsp;</ins>Wonderful</a> <ul> 
<li id="9" class="open last"><a href="#"><ins>&nbsp;</ins>bbb</a>
 </li> 
 </ul> 

Итак, если я делаю что-то вроде переименования, как мне получить идентификатор в теге LI выбранного узла, например, node_id?

$("#tree2").tree({
    callback : {
    onrename : function (NODE, TREE_OBJ) {
        alert(node_id); 
    }

} });

Любая помощь приветствуется!

Ответы [ 3 ]

4 голосов
/ 03 марта 2010

Плагин передает вам вовлеченный узел; ты пробовал просто

alert($(NODE).attr('id'));

1 голос
/ 04 ноября 2013

Я боролся за то же самое и нашел самый простой способ, как показано ниже для ключа и значения:

alert(node.id + ' ' + node.text);

Полный пример ниже:

HTML-код (необходимо назначить id для каждого li родительского или дочернего элемента):

<li id="<?php echo $result['FILTER_ID']; ?>">

Заполните код JS ниже:

var nodes = $('#tt').tree('getChecked');
    var s = '';
    for(var i=0; i<nodes.length; i++){
        if (s != '') s += ',';
        s += nodes[i].id + ' ' + nodes[i].text;
    }
    alert(s);
1 голос
/ 30 июня 2012

Вместо этого вы должны использовать node.id.

...