Я пытаюсь создать каскадное выпадающее меню со всеми динамическими элементами.
Мой Html:
<select id="Sites" name="SelectedSiteId"><option value=""></option></select>
<select id="Sectors" name="SelectedSectorId"><option value=""></option></select>
У меня есть 2 функции для загрузки элементов с помощью ajax, оба работают нормально:
function GetSites() {
$.ajax({
url: '/Sites/GetSites',
dataType: "json",
type: "POST",
error: function () {
alert("An error ocurred.");
},
success: function (data) {
var items = "";
$.each(data, function (i, item) {
items += "<option value=\"" + item.Value + "\">" + item.Text + "</option>";
});
$("#Sites").html(items);
}
});
}
function GetSectors(siteId) {
$.ajax({
url: '/Sites/GetSectors',
data: { siteId: siteId },
dataType: "json",
type: "POST",
error: function () {
alert("An error ocurred.");
},
success: function (data) {
var items = "";
$.each(data, function (i, item) {
items += "<option value=\"" + item.Value + "\">" + item.Text + "</option>";
});
$("#Sectors").html(items);
}
});
}
Мне нужно вызвать GetSectors на основе выбора сайта. У меня есть это:
$(document).ready(function () {
$("#Sites").on("change", function (e) {
var siteId = $("#Sites").val();
GetSectors(siteId);
});
GetSites();
});
Но это не сработает. Я использую jquery 1.8.3.
Любая идея, где проблема?
Спасибо!