У меня есть каскадный капля-утопление с использованием mvc. Что-то вроде, если вы выберете страну в первом выпадающем списке, состояния этой страны во втором должны быть заполнены соответствующим образом.
На данный момент все кажется прекрасным, и я получаю ответ Json (видел его с помощью инструментов F12), и он выглядит примерно как [{ "stateId": "01", "StateName": "arizona" }, { "stateId": "02", "StateName": "California" } и т.д.]..
Я хотел бы знать, как заполнить мой второй выпадающий список этими данными. Мой второй раскрывающийся идентификатор - "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-код, мой бритвенный код и мой script. Я хочу написать код внутри "success:", чтобы он заполнил раскрывающийся список состояний данными 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>