javascript - 从 DropDownList 选择填充文本框 ASP.NET/Javascript

标签 javascript asp.net

我有一个 DDL 和 ASP.NET 文本框。我想使用我从 DDL 中选择的选项填充文本框。我需要它是即时的并且不使用回发,因此 JavaScript 似乎是这里显而易见的选择。我已经进行了大量搜索,但我发现的所有内容似乎都是针对标准 HTML(选择和输入)的,并且这些似乎不适用于 ASP 对象:

<asp:DropDownList runat="server" ID="DDLSalesPerson" DataValueField="keyid" DataTextField="FullName" />

<asp:TextBox runat="server" id="txtSalesPerson" />

我的 DDL 是从代码隐藏页面中的 SQL 填充的。

有人可以协助我使用适当的代码吗?谢谢。

最佳答案

ASP.Net 控件在浏览器上呈现为标准 HTML 元素。在脚本中,您可以使用 ASP.Net 控件的 ClientID 属性获取对它们的引用。

将其放入 aspx 中的脚本 block 中:

var ddl = document.getElementById('<%=DDLSalesPerson.ClientID %>');
var textBox = document.getElementById('<%= txtSalesPerson.ClientID%>');

现在您已经引用了 ASP.Net 控件呈现的 select 和 input 元素的 DOM 对象,并且可以使用已经在 HTML 元素上学到的技术。

其他信息 您需要向 DropDownList 控件添加 onchange 属性,如下所示:

<asp:DropDownList runat="server" ID="DDLSalesPerson" DataValueField="keyid" onchange="ddlChange();" DataTextField="FullName" />

然后将此脚本 block 放入您的 aspx

<script type="text/javascript">

    function ddlChange()
    {
        var ddl = document.getElementById('<%=DDLSalesPerson.ClientID %>');
        var textBox = document.getElementById('<%= txtSalesPerson.ClientID%>');

        textBox.value = ddl.options[ddl.selectedIndex].text;
    }

</script>

当您更改下拉列表时,您将看到文本框更新。在 IE 和 Chrome 中进行了测试。

关于javascript - 从 DropDownList 选择填充文本框 ASP.NET/Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4922831/

相关文章:

javascript - 不在选择标签下拉列表中选择以隐藏另一个输入元素的嵌套 Controller

javascript - 使所有盒子的高度相同。使用 Bootstrap 的 Wordpress 网格化后循环,

c# - ASP.NET 和 Java Servlets/JSP 之间的技术差异

asp.net - 从VMware Workstation 8访问主机上的localhost进行ASP.NET开发测试

c# - 为什么类型推断会与 SelectedItemCollection 中断?

javascript - 如果输入文本然后删除,则文本框不会验证为空

Javascript Element.style CSSStyleDeclaration 对象的属性看起来很奇怪?

javascript - jQuery 或 JavaScript Sticky Elements 的好教程

css - ASP.NET Core 1.0 中的下拉菜单

c# - Linq to Entities To Column 名称