Я использую mvc2 с c # ASP.Net.Я пытаюсь реализовать каскадный раскрывающийся список, в котором мой первый раскрывающийся список называется группа, а второй - разделение.поэтому при выборе группы ее соответствующие подразделения должны отображаться в моем втором раскрывающемся списке.
вот код, который я пытался реализовать
, это моя часть просмотра.
<%= Html.DropDownList("ddlGroup", IEnumerable<SelectListItem>)ViewData["ddlGroup"])%>
<select id="ddlDivision" name="Division"></select>
и часть скрипта
$(document).ready(function () {
$("#ddlGroup").change(function () { // group drop down selected index change
LoadDivision($("#ddlGroup").val());
}).change(); // For 1st data in on load
});
function LoadDivision (Group) {
var url = "../Training/GetJsonDivision";
$.getJSON(url, { Group: Group }, function (data) {
$.each(data, function (index, optionData) {
$("#ddlDivision").append("<option value'" + optionData.Division + "'>" + optionData.Division + "</option">);
});
});
}
, а часть моего контроллера
public ActionResult GetJsonDivision(string Group)
{
SelectList division = new SelectList(GetDivision(Group), "Division", "Division");
return this.Json(division, JsonRequestBehavior.AllowGet);
}
здесь мой GetJsonDivision возвращает набор делений для данной группы.в моем jquery, при вызове функции getJSON, он идет к контроллеру и метод выполняется, но после каждого оператора я не могу связать данные с выпадающим списком.
может кто-нибудь помочь мне в этом.Мне неясно, что это за опция optionData, которую мы передаем в параметре функции обратного вызова, и как она сопоставляется с возвращаемыми значениями.
спасибо и с уважением к Малати.