Ich versuche, eine Kaskade Dropdown mit allen dynamischen Elementen zu erstellen.Jquery bei Änderung nicht für dynamischen Inhalt ausgelöst
Meine Html:
<select id="Sites" name="SelectedSiteId"><option value=""></option></select>
<select id="Sectors" name="SelectedSectorId"><option value=""></option></select>
Ich habe 2 Funktionen Elemente laden Ajax, beide arbeiten gut:
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);
}
});
}
Ich brauche GetSectors auf der Standortauswahl basierend zu nennen. Ich habe dies:
$(document).ready(function() {
$("#Sites").on("change", function (e) {
var siteId = $("#Sites").val();
GetSectors(siteId);
});
GetSites();
});
Aber es funktioniert nicht. Ich benutze jquery 1.8.3.
Irgendeine Idee wo ist das Problem?
Vielen Dank!
@undefined werden ähnliche Fragen n-mal auf einer täglichen Basis. '=]' –
@ FabrícioMatté Ja, leider :) – undefined
Vielleicht sollten wir eine kanonische Frage für Event Delegation haben, wenn wir es nicht schon tun. –