Я использую knockout.js с jquery. availableBrands
определяется как:selectize not working with dynamic knockout options binding
self.availableBrands = ko.observableArray();
мой АЯКС метод запроса:
self.loadBrands = function() {
$.ajax({
url: '/api/Electronic/GetBrands',
dataType: "json",
contentType: "application/json",
cache: false,
type: 'POST',
success: function (data) {
$.each(data,function (i,item) { self.availableBrands.push(item) });
},
error: function (jqXHR, status, thrownError) {
toastr.error("failed to load Brands.Please refresh page and try again", "Error");
}
});
}
и данные, которые я получать это:
Update: Я использую Нокаут опции с плагином selectize
как:
<select id="select-category" class="demo-default" data-bind="options: availableBrands,
value: selectedBrand,
optionsCaption: 'Choose brand...'"></select>
и JS является:
$('#select-category').selectize({
create: true,
sortField: {
field: 'text',
direction: 'asc'
},
});
Теперь выберите показывает только те варианты, которые я жестко вписаны. Он не показывает параметры, загруженные через ajax.
Update 2:
В loadBrands
функции я пишу self.availableBrands.push('ghi');
и ghi
показан в некоторых вариантах. Но данные, загруженные через ajax, не показаны.
Я изменил АЯКС успех:
success: function (data) {
$.each((data), function (i, item) { console.log(item); });
},
и данные на консоли показано на рисунке
Почему данные, загруженные через AJAX не показано выбрать?
Просто используйте '$ .each ($ (данные), функция()' Преобразование данных в 'jquery' объект –
вы можете напрямую назначить, чем скорее толкая чек здесь Http:. // jsfiddle .net/LkqTU/26469 /. надеется, что помогает –
Ошибки регистрируются? – guest271314