在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( “名称”)
但这不起作用。
答案 0 :(得分: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;
手册ID:
@Html.dropDownList(m=>m.model, new SelectList(m.myList, "value", "text"), new {id = "ddl1"})
var value = $("#ddl1").val();