使用Jquery在treeview节点和子节点上添加onclick事件

时间:2012-02-10 19:31:14

标签: c# jquery asp.net treeview

我有一个有节点的ASP树视图

enter image description here

所以现在,我必须在NODE(即住宿)上添加一个与子节点上的点击事件(即Blue Parrot INN等)不同的点击事件。

我是如何实现这一目标的?

任何帮助都将非常感谢...

注意:我想使用jquery

实现此目的

2 个答案:

答案 0 :(得分:1)

我在Root,Parent和Leaf Node上添加CSSclass,如

    RootNodeStyle-CssClass="RootNodeStyle"
    ParentNodeStyle-CssClass="ParentNodeStyle"
    LeafNodeStyle-CssClass="LeafNodeStyle"

然后在js我写jquery如下

   $("RootNodeStyle").click(function(){
        alert("Root Node is click");
   });

   $("ParentNodeStyle").click(function(){
        alert("Parent Node is click");
   });

   $("LeafNodeStyle").click(function(){
        alert("Leaf Node is click");
   });

这样我实现了我想要的......:)

答案 1 :(得分:0)

ASP.NET为节点分配一些可预测的客户端ID。使用这些客户端ID,您可以使用jquery分配click事件。

$(document).ready(function () {
    $("#id_of_your_node_in_html_page").click(function () {
        //do something
    });
});

更多话要说:

那么如何获取节点的客户端ID?假设您的树视图的服务器ID为my_tree。然后节点的客户端ID将如下所示:

Accomodations     my_treet0
    PIER HOUSE... my_treet1
    BLUE PARROT.. my_treet2
    ISLAND CITY.. my_treet3
Hotels            my_treet4
    COUNTRY...... my_treet5

请注意t和不断增加的数字。然而,这种方法并不可靠。添加或删除一个子节点后,后续节点的客户端ID将会更改。

<强>替代:

这是获取客户端ID的更可靠方法。而不是Accomodations,而是为节点的text属性写<a id='nodeAccomodations'>Accomodations</a>。然后,您可以将nodeAccomodations用作客户端ID。