难倒JS树...如何获取当前所选<li>?</li>的ID

时间:2010-03-03 06:03:16

标签: jquery jstree

我希望JStree在删除节点等时有更多关于执行AJAX操作的示例。就像它如何传输所选节点的ID并将其作为参数传递一样?花了几个小时,无法想出这个。

<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标记中获取ID,如node_id?

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

}     });

任何帮助表示赞赏!

3 个答案:

答案 0 :(得分:4)

插件传递给你所涉及的节点;你试过简单吗

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

答案 1 :(得分:1)

您应该使用node.id。

答案 2 :(得分:1)

我正在为此努力奋斗,并找到了一个最简单的方法,如下所示:

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);