获取要显示到文本框的下拉列表选项的值

本文关键字:下拉列表 选项 文本 显示 获取 | 更新日期: 2023-09-27 18:06:09

我使用下面的代码将这些选项放到了数据库的下拉列表中:

if (!IsPostBack)
    {pageloaddata.retrievetbldata("Select EmpId, LastName+', '+FirstName+' '+MiddleName AS EmployeeName from Employee");
        DropListEmployeeName.DataSource = pageloaddata.SQLTable;
        DropListEmployeeName.DataTextField = "EmployeeName";
        DropListEmployeeName.DataValueField = "EmpID";
        DropListEmployeeName.DataBind();
        DropListEmployeeName.Items.Insert(0, "Select")
}

所以Employee Name的值必须是他们的Employee ID (EmpID)

现在我想要做的是,如果用户选择了一个雇员,selectedValue(即EmpID)必须显示在一个文本框中。这是我创建的小代码,不工作,它可能是很容易的其他人,我知道请帮助初学者在这里谢谢:)

protected void DropListEmployeeName_SelectedIndexChanged(object sender, EventArgs e)
{
    string empSelected = DropListEmployeeName.SelectedValue.ToString();
    employID.Text = empSelected;
}

注意:在数据库中的EmpID实际上是一个int,它是否重要,如果我调用它作为字符串?如果是,请建议最好的代码

获取要显示到文本框的下拉列表选项的值

如果你想使用Jquery来捕获你的下拉菜单的值,当它改变看看这个例子,我做点击这里或运行下面的代码片段。

$(document).ready(function () {
   $("#SelectId").change(function () {
      
      var selectObj = $(this);
      
      $("#inputID").val(selectObj.val());
   
   });
});
<html>
<head>
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
</head>
<body>
<select name="mySelect" id="SelectId">
  <option value="FirstOption">First Option</option>
  <option value="SecondOption">Second Option</option>
  <option value="ThirdOption">Third Option</option>
  <option value="FourthOption">Fourth Option</option>
</select>
<input id="inputID" type="text" name="sampleText" />
</body>
</html>

但是如果你真的想使用下拉控件的Postback方法,试试这个

<asp:DropDownList ID="DropListEmployeeName" runat="server" AutoPostBack="True" 
    onselectedindexchanged="DropListEmployeeName_SelectedIndexChanged">
</asp:DropDownList>

检查下拉列表中的AutoPostBack="True"属性。

string empSelected =  Convert.Tostring(DropListEmployeeName.SelectedItem.Value);

其他方式

var empSelected = ((DropDownList)sender).SelectedValue;
        string semSelected = selectedValue;