Мой PHP-код возвращает данные JSON для автозаполнения jquery, но автозаполнение не работает
Автозаполнение JQuery
$("input#txtaddkey").autocomplete({ source: "keyword.php", minLength: 2 });
PHP-код
$fetch = mysql_query("SELECT * FROM o_keyword where keyword like '%" . $query . "%'"); while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) { $row_array['id'] = $row['id']; $row_array['keyword'] = $row['keyword']; array_push($return_arr,$row_array); } echo json_encode($return_arr);
Выход данных JSON
[{"id":"2","keyword":"Games"},{"id":"3","keyword":"Goa"}]
И, набрав «Ga», я получаю пустой тег li в переднем конце.
Из:
ваш JSON должен содержать label
или value
(или оба). Измените keyword
на value
и оно должно работать нормально.
Ваш код должен быть слегка изменен.
while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) { $row_array['value'] = $row['id']; $row_array['label'] = $row['keyword']; array_push($return_arr,$row_array); }
echo json_encode ($ return_arr);
Теперь ваш формат json будет
[{"value":"2","label":"Games"},{"value":"3","label":"Goa"}]