【问题标题】:Programatically change value based on selected item from dropdownlist根据下拉列表中的选定项目以编程方式更改值
【发布时间】:2014-04-10 16:51:40
【问题描述】:

我仍然习惯于从 asp.net 切换到 asp.net mvc,而且我知道它不会用于操作命令,但我正在尝试根据用户何时更改标签的文本从下拉列表中选择一个项目。我真的不知道从哪里开始:(

【问题讨论】:

  • 当用户选择一个项目时更改标签的文本 - 可以使用一些 jQuery 轻松完成
  • 那么你想知道他在mvc中做这个吗?

标签: c# asp.net asp.net-mvc


【解决方案1】:

您可以使用一些 jQuery 轻松完成此操作,这里我为您制作了一个 Fiddle

如果您在视图中使用纯 HTML,或者即使您使用的是 @Html.LabelFor@Html.DropDownListFor,以下是 HTML 的外观。

HTML

<label id="myLabel">Select a fruit:</label>
<select id="fruitSelector">
    <option val="">None</option>
    <option val="apple">apple</option>
    <option val="orange">orange</option>
    <option val="mango">mango</option>
</select>

jQuery

$("#fruitSelector").change(function(){
    $("#myLabel").text("Fruit has been selected");
});

相关帮助

【讨论】:

    【解决方案2】:

    这是使用 jquery 的简单示例

     @Html.DropDownList("State", ViewBag.StateName as SelectList, 
    "Select a State",
     new { id = "State" })
    
    <label id="lbl1"></label>
    
    <script type="text/jscript">
        $(function () {
            $('#State').change(function () {
                $('#lbl1').text($('#State').val());
            });
        });
    </script>
    

    【讨论】:

      【解决方案3】:

      你可以试试这样的

      <label id="item">Selected Item: </label>
      <select id="selector">
          <option value="">None</option>
          <option value="JS">JavaScript</option>
          <option value="aspnet">Asp.net</option>
          <option value="mvc">Asp.Net MVC</option>
      </select>
      <label id="result"></label>
      
      $("#selector").change(function()
      {
          $("#result").text($(this).val());
      });
      

      http://jsfiddle.net/PLbnS/

      【讨论】:

      • 希望对您的问题有所帮助
      【解决方案4】:

      首先,您的aspx 应如下所示:

      <asp:DropDownList AutoPostBack="true" runat="server" ID="myListDropDown" 
                      CssClass="text" OnSelectedIndexChanged="myListDropDown_Change" />
      

      还有你的代码隐藏文件:

      private void myListDropDown_SelectedIndexChanged(object sender, System.EventArgs e)
              {
                      //put your code here
              }
      

      【讨论】:

      • 我正在使用 asp.net mvc,这是 asp.net 代码,所以恐怕它不会工作
      【解决方案5】:

      简单:

      在下拉列表的 SelectedValueChanged 事件中编写此代码:-

       private void dropdownlist_SelectedValueChanged(object sender, EventArgs e)
              {
                      dropdownlist.Items["abc"]=label.text;
                      dropdownlist.Items["xyz"]=label.text;
      
              }
      

      【讨论】:

      • 我正在使用 asp.net mvc,它不允许组合框:(
      • 您只需将组合框更改为下拉列表
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-28
      • 1970-01-01
      • 2015-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多