【问题标题】:Get the value of dropdown list option to display to text box获取下拉列表选项的值以显示到文本框
【发布时间】:2016-09-07 02:21:24
【问题描述】:

我已使用以下代码将选项从数据库中放入下拉列表:

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")
}

所以员工姓名的值必须是他们的员工 ID (EmpID)

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

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

注意:数据库中的 EmpID 实际上是一个 int,我称它为 string 有关系吗?如果是,请建议最好的代码

【问题讨论】:

  • 不工作是什么意思?
  • string empSelected = DropListEmployeeName.SelectedValue.ToString();这一行设置断点并检查你得到的值。是空字符串吗?
  • @woodykiddy 我认为应该从下拉列表中获取 Selected 选项的值并将其放入变量中:empSelected。例如,我在列表中选择了 wolfQueen,其值为 123。现在应该将 123 显示到作为文本框的employeeID ..

标签: c# asp.net


【解决方案1】:

如果您想在 DropDown 更改时使用 Jquery 来捕获其值,请查看我制作的这个示例 click here 或运行下面的代码 sn-p。

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

但如果你真的想使用 DropDown 控件中的 Postback 方法,试试这个。

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

【讨论】:

    【解决方案2】:

    检查您的下拉 AutoPostBack="True" 属性。

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

    其他方式

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多