将Treeview选择的节点值发送到文本框而不回发

时间:2012-07-10 20:48:09

标签: javascript asp.net treeview

我一直在研究这个问题已经有一段时间没找到任何东西可以解决我的问题了。当我选择一个节点时,我希望该节点的值填充文本框。我可以使用vb代码隐藏工作,但它会导致回发,我不希望它。我想尝试使用javascript来代替,但我不确定在哪里调用函数或如何设置它。

这是我的树视图的代码和我想发送给它的文本框:

<asp:TextBox ID="tbSelectedOrg" runat="server" Enabled="false" asp:TextBox>
              <asp:TreeView 
                ID="tvOrganizationTree" 
                ExpandDepth="0"
                runat="server" 
                PopulateNodesFromClient = "true" 
                ShowLines="true" 
                ShowExpandCollapse="true"
                OnSelectedNodeChanged="tvOrganizationTree_SelectedNodeChanged"> // currently calls vb code causing postback
              </asp:TreeView>

2 个答案:

答案 0 :(得分:1)

我很快就创建了这个例子。试一试。

<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript">
    $(document).ready(function () {
        $("#<%= TreeView1.ClientID %> div a").click(function () {
            $("#txt").val(this.innerHTML);
            return false;
        });
    });
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
    <asp:TreeView ID="TreeView1" runat="server">
    </asp:TreeView>
    <input type="text" id="txt" />
</asp:Content>
祝你好运!

答案 1 :(得分:0)

我会用JQuery来解决这个问题。

此代码并不完美,但应该让您知道在哪里查看:

 $("#tvOrganizationTree .what-ever-class-aspnet-gives-the-nodes")
        .click(function() 
        { 
            $("#id-of-textbox").html(this.html());
        });