Php jquery自动完成不使用JSON数据
我的PHP代码将JSON数据返回到jquery自动完成,但自动完成不起作用 Jquery自动完成Php jquery自动完成不使用JSON数据,php,jquery,json,jquery-autocomplete,Php,Jquery,Json,Jquery Autocomplete,我的PHP代码将JSON数据返回到jquery自动完成,但自动完成不起作用 Jquery自动完成 $("input#txtaddkey").autocomplete({ source: "keyword.php", minLength: 2 }); PHP代码 $fetch = mysql_query("SELECT * FROM o_keyword where keyword like '%" . $query . "%
$("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需要包含
标签
或值
(或两者兼有)。将关键字
更改为值
,应该可以正常工作。您的代码需要稍微修改
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"}]
您的“keyword.php”实际上返回了什么吗?检查firegug…是它返回[{“id”:“2”,“关键字”:“Games”},{“id”:“3”,“关键字”:“Goa”}]