【发布时间】:2012-10-05 11:06:49
【问题描述】:
如何编写 MVC 3 Razor Web 应用下拉列表的 Selected Index Change 事件
【问题讨论】:
-
这个问题可能对你有帮助:stackoverflow.com/questions/1090948/…
标签: c# asp.net-mvc-3 razor
如何编写 MVC 3 Razor Web 应用下拉列表的 Selected Index Change 事件
【问题讨论】:
标签: c# asp.net-mvc-3 razor
如上一个答案所述,您必须使用 ajax 编写 Javascript。但是,它也可以像将表单返回到相同的操作一样简单,然后捕获值以再次重新显示修改后的视图。
$('#myDropdown').change(function(){
$('#myForm').submit();
})
【讨论】:
$(document).ready(function () {
$("#country").change(function () {
if ($("#country").val() != "0") {
var options = {};
options.url = "/Common/GetStates";
options.type = "POST";
options.data = JSON.stringify({ country: $("#country").val() });
options.dataType = "json";
options.contentType = "application/json";
options.success = function (states) {
//alert(states[i].State);
$("#state").empty();
for (var i = 0; i < states.length; i++) {
$("#state").append("<option>" + states[i].State1 + "</option>");}}
options.error = function () { alert("Error retrieving states!"); };
$.ajax(options);}
else {$("#state").empty();
}});
});
<select id="state">
<option value="0">select</option>
</select>
public JsonResult GetStates(string country){
int cntry = Convert.ToInt32(country);
List<State> states = db.States.Where(i => i.Countryid == cntry).ToList();
return Json(states);}
【讨论】: