如何在MVC中重置下拉零指数?

时间:2013-05-03 06:47:59

标签: jquery html asp.net-mvc

在我的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>

在一些buttom上我做了一些功能,所以我想把这个Dropdown重置为零索引,我该怎么做?

2 个答案:

答案 0 :(得分:1)

Live JsFiddle demo here

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

<强>逻辑

@{
    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”......&lt; ---这是 ID

答案 1 :(得分:0)

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

DropDownList.SelectedIndex = 0 ; 

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

DropDownList.ClearSelection();

试试这个:

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

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