Я немного упростил это, чтобы объяснить.jquery multiple select делает загрузку ajax, когда был выбран предварительный выбор
Если у меня есть несколько зависимых отступов, давайте возьмем пример простого региона страны.
Сначала выберите страны загрузки, а второй выберите грузы, относящиеся к выбранному стране, а третий выбирает регион, относящийся к выбранному городу.
Я не хочу устанавливать асинхронное значение false.
$(document).ready(function() {
// Enumerate select lists
// Country is already filled
enumerateChildDropDown("Town", $("Country").val());
// This shouldnt load until the above has finished
enumerateChildDropDown("region", $("Town").val());
// Note there could be many more of these
});
function enumerateChildDropDown(selectId, parentId) {
$.ajax({
type: "POST",
dataType: "json",
url: "@Url.Action("foo", "foo")",
data: { parentId: parentId},
}).done(function (returnedData) {
// Fill selectId here etc
}).fail(function (jqXHR, exception) {
// Some Alert
});
}
Этот пример был значительно упрощен, поскольку реальное приложение загружает много данных для каждого выбора и не имеет ничего до 10+ зависимых полей, следовательно, использование одной функции AJAX.
Я рассмотрел возможность использования какого-либо обратного вызова, но я нахожу разные примеры версий JQuery, что делает вещи немного запутанными. Я хочу придерживаться JQuery и не использовать какую-либо другую библиотеку, то есть knockoutjs.
Вероятно, вы уже знаете эту информацию, но в случае, если вы не [здесь пример, который относится к вашему вопросу] (http://stackoverflow.com/questions/16924082/dynamic-drop-down -Box/16924652 # 16924652). – gibberish
Проблема заключается не в создании списков выпадающих списков, а в том, что дочерний список ожидает завершения родительской загрузки без создания async: false. –
Зачем голосовать без всякой причины или объяснения? –