javascript — ответ json от php до select2 не рендеринг

Я пытаюсь использовать select2 извлечения данных с помощью AJAX из PHP-конца. Я не мог понять документацию столько, сколько хотел бы. Я думаю, что я, вероятно, пропустил некоторые принятые вещи как должное.
Я начал так:

HTML

<select id="select_proj" style="width:10em">
<option value="" selected="selected">Search</option>
</select>

JS

$('select').select2();
$("#select_proj").select2({
ajax : {
url : '../app/select_prj.php',
dataType : 'json',
delay : 250,
data : function (term, page) {
return {
select_proj: term, // search term
page: 10
};
},
processResults: function (data, page) {
return {
results: data.items
};
},
cache: true
},
escapeMarkup : function (markup) { return markup; }, // let our custom formatter work
minimumInputLength : 1,
});

В PHP

JSON-объект возвращается из PHP

echo json_encode($result_data);

и данные выглядят как

[{
"PROJ_ID" : 10039,
"0" : 10039
},{
"PROJ_ID" : 10042,
"0":10042
}]

Однако в поле выбора ничего не происходит, кроме сообщения «Результаты не найдены».
Что я упускаю?

0

Решение

Ваш ответ должен выглядеть так:

[
{ id: 0, text: 'enhancement' },
{ id: 1, text: 'bug' },
{ id: 2, text: 'duplicate' },
{ id: 3, text: 'invalid' },
{ id: 4, text: 'wontfix' }
]
  • «id» будет значением опции
  • «текст» будет меткой опции

и вы должны удалить «.items» из «data.items», потому что в вашем ответе нет ключевых «элементов».

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]