Я пытаюсь сделать автозаполнение работы с удаленными данными из сценария php.
Если я передаю массив arrx непосредственно в источник, он отлично работает.
arrx = [{id:'48',label:'TEST 1'},{id:'49',label:'TEST 2'},{id:'50',label:'TEST 3'},{id:'51',label:'TEST 4'}]
$("#search2").autocomplete({
source: arrx,
minLength: 0,
select: function(event, ui) {
var url = ui.item.id;
alert(url);
}
}).data("autocomplete")._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.label + " " + item.value + "</a>" )
.appendTo( ul );
} ;
но если тот же массив возвращается с php-страницей
источник: '/myfolder/search.php'
ничего не появляется. Я искал проблему, но не могу найти решение.
Не могли бы вы мне помочь?
EDIT: с firebug я вижу, что данные извлекаются правильно каждый раз, когда я вводил символ. Все еще ничего не появляется
/myfolder/search.php возвращается
[{id:'48',label:'TEST 1'},{id:'49',label:'TEST 2'},{id:'50',label:'TEST 3'},{id:'51',label:'TEST 4'}]
Я пропустил заголовок ('Content-type: application/json; charset = utf-8');
поверх моей php-страницы.
Вы должны использовать преобразование вашего php-массива в json-массив в ваш удаленный файл с помощью php json encode.