获取要显示到文本框的下拉列表选项的值
本文关键字:下拉列表 选项 文本 显示 获取 | 更新日期: 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;