为什么此代码会根据需要更改位置

时间:2010-08-14 17:26:17

标签: javascript asp.net-mvc asp.net-mvc-2

我有一个奇怪的问题。我一直在编写一个代码来改变<select> onchange <% Html.BeginForm(); %> <label for="id" >Automat:</label> <%= Html.DropDownList("id", Model as SelectList, new { @onchange = "window.location.href = document.getElementById('id').options[document.getElementById('id').selectedIndex].value;" })%> <% Html.EndForm(); %> 这样的观点:

http://localhost:58296/Content/ViewContent/2

所选值为数字(即1,2,...)。

突然间,我可以将所选选项更改为从URL

http://localhost:58296/Content/ViewContent/3

{{1}}

..我真的不知道为什么会这样。有人可以向我解释一下吗?

1 个答案:

答案 0 :(得分:2)

下拉列表的选定索引是列表中项目的从0开始的索引。

<select>
  <option>Some Option 1</option> <!-- I have index 0 -->
  <option>Some Option 2</option> <!-- I have index 1 -->
  <option>Some Option 3</option> <!-- I have index 2 -->
</select>

您实际上是在告诉选择列表,“当您更改时,抓取所选值的索引,并将URL的最后部分更改为该索引。”