Заполнить выбор с помощью ajax и json иногда не удается - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь заполнить Select с помощью ajax-вызова, который извлекает json с содержимым. Насколько я вижу, соединение работает нормально (с помощью опции Chrome Network я вижу, что ответ ajax всегда содержит данные, это пример ответа, когда select ничего не показывает: [{"id": "4", "value" : "VALOR 4"}, {"id": "5", "value": "VALOR 5"}, {"id": "6", "value": "VALOR 6"}]).

Я использую этот кусок jquery для загрузки выбора (функция вызывается из $ .ready ()):

function(options) {
    $.each(options, function(key, option){
        select.append($('<option></option>').val(option['id']).text(option['value']) );
    })};

Проблема в том, что иногда выбор заполняется, а иногда нет, не показывая никакой ошибки на консоли браузера. Действительно, я дублирую один и тот же SELECT, и проблема возникает в обоих из них, но не обязательно в одно и то же время: иногда оба заполняются, иногда только один, иногда оба пусты ...

Как мне исправить / переписать мой кусок кода, чтобы он работал последовательно?

1 Ответ

0 голосов
/ 10 мая 2018

Ваша логика кажется правильной, поэтому, если есть проблема, это, вероятно, из ответа, полученного от сервера

let options = [{"id":"4","value":"VALOR 4"},{"id":"5","value":"VALOR 5"},{"id":"6","value":"VALOR 6"}];


let select = $('select')
$.each(options, function(key, option){
        select.append($('<option></option>').val(option['id']).text(option['value']) );
    })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<select></select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...