4

在 MVC3 上,下拉列表定义为

@Html.dropDownList(m=>m.model, new SelectList(m.myList, "value", "text"))

如何通过 javascript 获取选定的值和/或文本?

我尝试传递一个名称:

  @Html.dropDownList(m=>m.model, new SelectList(m.myList, "value", "text"), new {name="name")

并从 javascript 中读取名称: document.getElementByName("name")

但这不起作用。

4

1 回答 1

4

如果您使用的是 jQuery(这很可能与 MVC 项目一起使用):

// lambda to get the ID of your dropdown. This runs on the server,
// and injects the ID into a client-side variable.
var id = '@Html.IdFor( o => o.model )';

// get the dropdown by ID and wrap in a jQuery object for easy manipulation
var dropdown = $("#" + id);

// get the value
var value = dropdown.val();

当然,如果需要,您可以将其组合成一行。

如果您不使用 jQuery,请参阅https://stackoverflow.com/a/1085810/453277

var id = '@Html.IdFor( o => o.model )';
var dropdown = document.getElementById( id );
var value = dropdown.options[dropdown.selectedIndex].value;

手册编号:

@Html.dropDownList(m=>m.model, new SelectList(m.myList, "value", "text"), new {id = "ddl1"})

var value = $("#ddl1").val();
于 2012-12-12T14:56:26.170 回答