问题
My PHP code return JSON data to jquery autocomplete but autocomplete not working
Jquery autocomplete
$("input#txtaddkey").autocomplete({
source: "keyword.php",
minLength: 2
});
PHP code
$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 data output
[{"id":"2","keyword":"Games"},{"id":"3","keyword":"Goa"}]
And while typing "Ga" I am getting empty li tag in front end.
回答1:
From:
- http://jqueryui.com/demos/autocomplete/
your JSON needs to contain label
or value
(or both). Change keyword
to value
and it should work fine.
回答2:
Your code needs to be slightly modified.
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);
Now your json format will be
[{"value":"2","label":"Games"},{"value":"3","label":"Goa"}]
来源:https://stackoverflow.com/questions/4234455/jquery-autocomplete-not-working-with-json-data