У меня есть всплывающий всплывающий ботстрап, который заполняется через AJAX. В то время как я получаю значение от AJAX, я не могу заполнить раскрывающийся список мультиселектов. У меня есть еще один нормальный раскрывающийся список, который использует ту же функцию AJAX, и он заселен. Я что-то упускаю?Bootstrap multiselect не заполняется
я проверить эту ссылку, которая не работает для меня Adding form elements dynamically to Bootstrap multiselect library
Это HTML-
var lstValue = "";
<select id='sellstValue" + obj.id + "' class='lstvalue' hidden='hidden'>" + lstValue + "</select>
Это мой AJAX код
var lstvalue = $('#' + rowId).find('.lstvalue').prop('id');
$.ajax({
cache: false,
url: '@Url.Action("PopulateDropdown", "AdvancedSearch")',
type: "POST",
data: { Field: field }
}).done(function (data) {
console.log(data.value)
var listb = $('#' + lstvalue);
listb.empty();
$.each(data.value, function (index, value) {
listb.append($('<option>', {
value: value,
text: value
}, '<option/>'))
});
console.log($('#' + lstvalue))
});
$('#' + lstvalue).attr('multiple', 'multiple');
$('#' + lstvalue).multiselect();
Я проверил консольный вывод консоли .log ($ ('#' + lstvalue)), который дает мне ожидаемый результат.
Вы не запускаете действия по обратному вызову, и природа AJAX должна выполняться асинхронно, поэтому вы обычно связываете действия с обратным вызовом успеха или методом .done, что полезно, потому что вы также можете показывать ошибки при сбое транзакции AJAX. –
multiselect() не может помещать в цикл, это функция синхронизации, которая вызывает события обработчика. – WeiYuan