0

在我的 mvc 项目中,我在 div 中绑定如下所示的下拉列表

@{
    List<SelectListItem> lsqty = new List<SelectListItem>();
    for (int i = 1; i <= 10; i++)
    {
         SelectListItem sl = new SelectListItem { Text = i.ToString(), Value = i.ToString(), Selected = false };
         lsqty.Add(sl);
    }
}
Qty: @Html.DropDownList("ddlQty", lsqty, new { style = "width:30px", @class = "positive-integer" })

来自下面的 html 列表

<select style="width:30px" name="ddlQty" id="ddlQty" class="positive-integer">
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
  <option value="7">7</option>
  <option value="8">8</option>
  <option value="9">9</option>
  <option value="10">10</option>
</select>

在某些按钮上我做了一些功能,所以我想将此下拉菜单重置为零索引,我该怎么做?

4

2 回答 2

1

现场 JsFiddle 演示在这里

我认为您希望值从0value 开始,因此您必须稍微更改 for 循环并休息我认为您可以从JsFiddle 链接中获取以更改所选索引

逻辑

@{
    List<SelectListItem> lsqty = new List<SelectListItem>();
    for (int i = 0; i <= 10; i++) // Starting loop from ZERO *******
    {
         SelectListItem sl = new SelectListItem { Text = i.ToString(), Value = i.ToString(), Selected = false };
         lsqty.Add(sl);
    }
}
Qty: @Html.DropDownList("ddlQty", lsqty, new { style = "width:50px", @class = "positive-integer" })

输出应该是

<select style="width:50px" name="ddlQty" id="ddlQty" class="positive-integer">
  <option value="0">0</option> //New Option value ZERO
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
  <option value="7">7</option>
  <option value="8">8</option>
  <option value="9">9</option>
  <option value="10">10</option>
</select>

所选索引的 Javascript 将是

document.getElementById("ddlQty").selectedIndex = 0;

PS:由于您正在构建 ASP.NET MVC 应用程序 <%#mydropdownlist.ClientID%> 语法不适用,而是直接使用id您在逻辑部分中的语法。

@Html.DropDownList("ddlQty"... <--- 这是ID

于 2013-05-03T08:04:31.313 回答
0

如果您通过代码绑定下拉菜单,则在按钮单击事件中设置

DropDownList.SelectedIndex = 0 ; 

或者如果您静态绑定它,只需使用该方法

DropDownList.ClearSelection();

尝试这个 :

document.getElementById("<%#mydropdownlist.ClientID%>").value = 0;

或者

document.getElementById("<%#mydropdownlist.ClientID%>").selectedIndex = 0;
于 2013-05-03T06:55:17.933 回答