0

我有一个下拉列表,显示所有当前的工作编号。我需要一个文本框来显示这个数字的“名称”等价物。下拉列表基于对同一数据库中单独表的查询。下拉列表是:

<asp:DropDownList ID="dlRef" runat="server" DataSourceID="DataRef" DataTextField="Ref" 
     DataValueField="Ref" style="z-index: 1; left: 155px; top: 68px; position: absolute; 
     width: 115px; height: 29px; bottom: 254px;" AutoPostBack="True">
</asp:DropDownList>

我需要做的是让文本框 tbADName 与使用查询的数据源相关联,例如从 ActiveJobs 中选择名称,其中 Ref = dlRef.DataValueField。

这是可能的还是我需要使用另一个结构来显示这些信息?

4

2 回答 2

0

您可以使用以下功能

onchange="showText(this.options[this.selectedIndex].text);"

在您的下拉列表中添加它将是

<asp:DropDownList ID="dlRef" runat="server" DataSourceID="DataRef" DataTextField="Ref" 
     DataValueField="Ref" style="z-index: 1; left: 155px; top: 68px; position: absolute; 
     width: 115px; height: 29px; bottom: 254px;" AutoPostBack="True"
      onchange="showText(this.options[this.selectedIndex].text);">
</asp:DropDownList>

在 java 脚本中创建一个函数

function showText(value)
{
   document.getElementById("textboxid").value=value
}

编辑 1

<head>
    <title>DropDown</title>
    <script type="text/javascript">
    function chkind(){
    var dropdown1 = document.getElementById('dlRef');
    var textbox = document.getElementById('textbox');
    var a = dropdown1.options[dropdown1.selectedIndex].text;
    textbox.value = a;

    }
    }
    </script>
</head>

<body>
<asp:DropDownList ID="dlRef" runat="server" DataSourceID="DataRef" DataTextField="Ref" 
 DataValueField="Ref" style="z-index: 1; left: 155px; top: 68px; position: absolute; 
 width: 115px; height: 29px; bottom: 254px;" AutoPostBack="True"
 onchange="chkind()">
    <option>Hi</option>
    <option>Bye</option>
</select><br />
<asp:textbox id="textbox" type="text" runat="server" />
</body>
于 2013-02-25T16:19:28.073 回答
0

我会使用javascript来做到这一点。onchange=functionName()在您的和处理 javascript 中的 onchange 中添加一个asp:DropDownList以将文本框文本更改为下拉列表中的值。

编辑:

你可以像这样调用 onchange 事件:

<asp:DropDownList ID="dlRef" runat="server" DataSourceID="DataRef" DataTextField="Ref" 
     DataValueField="Ref" style="z-index: 1; left: 155px; top: 68px; position: absolute; 
     width: 115px; height: 29px; bottom: 254px;" AutoPostBack="True" onchange="changeTextBox(this)">
</asp:DropDownList>

你的脚本是这样的:

<script>
    function changeTextBox(data) {
        document.getElementById("yourTextBoxId").value = data.value;
    }
</script>

如果你想显示文本,我猜你应该使用 text 属性。

注意:从 html5 开始,脚本标签可以在没有 type 属性的情况下使用。

于 2013-02-25T15:51:59.393 回答