#javascript #jquery #arrays #ajax #jquery-select2
#javascript #jquery #массивы #ajax #jquery-select2
Вопрос:
Моя проблема в том, что у меня есть поле, которое динамически добавляется на мой сайт после нажатия кнопки. Но я не могу загрузить souce данных select2 из API, поскольку он, похоже, загружается до его завершения или что-то в этом роде. Я пытался использовать setTimeout()
, .delay()
, .done()
в запросе Ajax, и ничего не происходит.
var productos = [];
$.ajax({
url: '/api/facturacion/productos',
method: 'get',
success: function (data) {
if(data) {
for(var i=0; i<data.length; i ) {
productos.push({
id: data[i].id,
text: data[i].descripcion
});
}
}
}
}).then(function() {
$(`#nombre_${articuloId}`).select2({
data: productos,
language: 'es'
});
});
Можно вызвать массив productos, и данные отображаются правильно, если у вас есть какие-либо подсказки, я буду признателен. Что-то еще заключается в том, что если я вызываю ту же переменную productos извне запроса Ajax, она удаляет его индекс.
Комментарии:
1. Что вам
console.log(productos);
then(function() {....
дает inside?2. это дает мне массив объекта.
3. Имеет ли он правильную структуру, например
[{ id: 0, text: 'somevalue' }, { id:1, text:'somevalue'}]
?4. Да, его формат JSON.