Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将Treeview所选节点值发送到文本框而不回发_Javascript_Asp.net_Treeview - Fatal编程技术网

Javascript 将Treeview所选节点值发送到文本框而不回发

Javascript 将Treeview所选节点值发送到文本框而不回发,javascript,asp.net,treeview,Javascript,Asp.net,Treeview,我已经在这方面工作了很长一段时间,还没有找到任何解决我问题的方法。当我选择一个节点时,我希望该节点的值填充一个文本框。我可以使用vb codebehind实现这一点,但它会导致回发,我不希望这样。我想尝试使用javascript来实现这一点,但我不确定在哪里调用该函数或如何设置它 以下是我的treeview的代码和我想发送到的文本框: //当前调用导致回发的vb代码 我会使用JQuery来解决这样的问题 这段代码并不完美,但应该让您知道应该在哪里查找: $("#tvOrganization

我已经在这方面工作了很长一段时间,还没有找到任何解决我问题的方法。当我选择一个节点时,我希望该节点的值填充一个文本框。我可以使用vb codebehind实现这一点,但它会导致回发,我不希望这样。我想尝试使用javascript来实现这一点,但我不确定在哪里调用该函数或如何设置它

以下是我的treeview的代码和我想发送到的文本框:


//当前调用导致回发的vb代码

我会使用JQuery来解决这样的问题

这段代码并不完美,但应该让您知道应该在哪里查找:

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

我会使用JQuery来解决这样的问题

这段代码并不完美,但应该让您知道应该在哪里查找:

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

我很快创建了这个示例。试试看

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

$(文档).ready(函数(){
$(“#div a”)。单击(函数(){
$(“#txt”).val(this.innerHTML);
返回false;
});
});

祝你好运

我很快就创建了这个示例。试试看

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

$(文档).ready(函数(){
$(“#div a”)。单击(函数(){
$(“#txt”).val(this.innerHTML);
返回false;
});
});


祝你好运

为什么要使用
.html()
而不是
val()
来设置
文本框的值?@David Perlman,我如何获得asp.net给节点的类?@Jupaol感谢您的更正。代码示例是为了展示基本思想而不是解决问题。请尝试使用IE上的开发工具或Firefox上的FireBug来检查Html输出。@David Perlman,我已经尝试使用IE中的开发工具来查看如何识别每个节点。我的问题是,我一开始只显示一个节点,因为我对所有子节点都使用node.populate on demand。这意味着当我检查源代码时,表中只有一行(树视图中的节点)。如果展开该节点,则源代码根本不会更改。只有当我回发帖子时,它才会改变。我必须使用node.populateOnDemand,因为它是一个包含3700多个节点的树,需要对数据库进行大量非必需的调用。为什么要使用
.html()
而不是
val()
来设置
文本框的值?@David Perlman,我怎样才能得到asp.net提供给节点的类?@Jupaol感谢您的更正。代码示例是为了展示基本思想而不是解决问题。请尝试使用IE上的开发工具或Firefox上的FireBug来检查Html输出。@David Perlman,我已经尝试使用IE中的开发工具来查看如何识别每个节点。我的问题是,我一开始只显示一个节点,因为我对所有子节点都使用node.populate on demand。这意味着当我检查源代码时,表中只有一行(树视图中的节点)。如果展开该节点,则源代码根本不会更改。只有当我回发帖子时,它才会改变。我必须使用node.populateOnDemand,因为它是一个包含3700多个节点的树,需要对数据库进行大量未经编码的调用。这几乎可以正常工作,我唯一的问题是现在无法打开不同级别的树视图。当我点击“+”按钮查看子节点时,它只是用创建“+”图像的代码填充文本框,而不显示子节点。如果我单击根节点,该值将正确填充文本框。正在为此制定解决方案。很抱歉,我在工作中做了一些不同的事情。现在检查代码,我刚刚更改了jquery选择器,以树中div内的所有链接标记为目标,它们是树视图中的子节点。这将让您了解它是如何工作的,以防您需要做一些额外的更改。祝你好运谢谢你的密码。离工作越来越近了。现在我可以打开子节点,但当我单击某个节点时,它会回发。当页面重新加载我最初打开的所有子节点时,它们保持打开状态,但我无法再打开更多。这是我第二次单击一个节点时,它会将其名称(文本)放入文本框,但当我单击打开子节点时,它不会打开,它只会将组成“+”按钮的文本放入文本框。我想知道这是否与我在动态创建树视图时使用node.PopulateOnDemand有关。我用来帮助我生成树视图的源代码。这非常接近于工作,我唯一的问题是我现在无法打开不同级别的树视图。当我点击“+”按钮查看子节点时,它只是用创建“+”图像的代码填充文本框,而不显示子节点。如果我单击根节点,该值将正确填充文本框。正在为此制定解决方案。很抱歉,我在工作中做了一些不同的事情。现在检查代码,我刚刚更改了jquery选择器,以树中div内的所有链接标记为目标,它们是树视图中的子节点。这将让您了解它是如何工作的,以防您需要做一些额外的更改。祝你好运谢谢你的密码。离工作越来越近了。现在我可以打开子节点,但当我单击某个节点时,它会回发。当页面重新加载我最初打开的所有子节点时,它们保持打开状态,但我无法再打开更多。这是我第二次单击一个节点时,它会将其名称(文本)放入文本框,但当我单击打开子节点时,它不会打开,它只会将组成“+”按钮的文本放入文本框。我想知道这是否与我在动态创建树视图时使用node.PopulateOnDemand有关。我用来帮助我生成treeview的源代码。