你需要听change
当您的第一个下拉列表发生事件时,读取所选值并使用该值向服务器发出 ajax 请求。有接受该值并返回第二个下拉列表数据的操作方法。在 ajax 调用的回调中,读取返回的 json 数据,查看它并填充第二个下拉列表。
假设您的表格有 2 个下拉菜单,一个用于国家/地区,一个用于州/省/自治区/直辖市
$(function(){
$("#Country").change(function(){
var countryId = $(this).val();
var url = "@Url.Action("GetStates,"Country")"+countryId;
$.getJSON(url,function(data){
var options="";
$.each(data,function(a,b){
options+="<option value='"+ b.Value +"'>" + b.Text + "</option>";
});
$("#State").html(options);
});
});
});
假设GetStates
动作方法中CountryController
接受国家/地区 ID 并返回属于所选国家/地区的州的项目列表(具有值和文本属性)。
public ActionResult GetStates(int id)
{
var dummyStates = new List<SelectListItem>
{
new SelectListItem { Value="1", Text="Michigan"},
new SelectListItem { Value="2", Text="Florida"},
new SelectListItem { Value="3", Text="Seattle"}
};
return Json(dummyStates,JsonRequestBehaviour.AllowGet);
}