我有一个使用 mvc 的级联下拉菜单。例如,如果您在第一个下拉列表中选择一个国家,则应相应地填充第二个下拉列表中该国家的州。
目前,一切似乎都很好,我得到了 Json 响应(使用 F12 工具看到它),它看起来像 [{ "stateId":"01", "StateName": "arizona" } , { "stateId" : "02", "StateName":"California" }, etc..] ..
我想知道如何second-dropdown
用这些数据填充我的。我的第二个下拉列表的 id 是“ StateID
”。任何帮助将不胜感激。
下面是用于从服务器生成 JSON 响应的代码:
[HttpPost]
public JsonResult GetStates(string CountryID)
{
using (mdb)
{
var statesResults = from q in mdb.GetStates(CountryID)
select new Models.StatesDTO
{
StateID = q.StateID,
StateName = q.StateName
};
locations.statesList = stateResults.ToList();
}
JsonResult result = new JsonResult();
result.Data = locations.statesList;
return result;
}
下面是客户端 HTML、我的剃须刀代码和我的脚本。我想在“ success
:”中编写一些代码,以便dropdown
使用 JSON 数据填充州。
<script type="text/javascript">
$(function () {
$("select#CountryID").change(function (evt) {
if ($("select#CountryID").val() != "-1") {
$.ajax({
url: "/Home/GetStates",
type: 'POST',
data: { CountryID: $("select#CountryID").val() },
success: function () { alert("Data retrieval successful"); },
error: function (xhr) { alert("Something seems Wrong"); }
});
}
});
});
</script>