您好我知道这里有很多关于JQuery UI Autocomplete的问题,但据我所知,它们都不符合我的需求。
我是从一个json文件执行此操作的,该文件是对此数组进行编码的:
Array
(
[0] => Array
(
[label] => 76
[value] => Museo de la Iglesia
)
[1] => Array
(
[label] => 86
[value] => Iglesia de los Padres
)
...
在php文件的末尾像这样打印:
echo json_encode($rows);
我的脚本也非常简单,几乎从官方页面复制过来:
<script type="text/javascript">
$(function() {
$( "#field" ).autocomplete({
minLength: 1,
appendTo: "#result",
source: "search.php"
});
});
</script>
我的表格
<div class="container col-md-6 col-md-offset-3">
<h1> Test de autocompletado</h1>
<form>
<div class="form-group ui-widget">
<label for="autocomplete">Campo de autocompletado</label>
<input type="text" class="form-control" placeholder="Introduce texto" id="field">
</div>
</form>
<div id="result"></div>
</div>
我不明白,JSON我认为没关系,表单触发脚本,php查询db。我甚至没有传递任何参数,只是一直进行相同的查询以获得相同的结果。
我错过了什么?
编辑:经过一些研究后我在@ guest271314的帮助下发现错误在JSON中,这是我到目前为止所做的:
var_dump(json_encode($rows)); //bool(false)
echo json_last_error(); // 5 = JSON_ERROR_UTF8
提前谢谢。
答案 0 :(得分:2)
您无法将菜单附加到input
元素#field
。将appendTo
更改为应显示结果的元素
请参阅appendTo
应将菜单附加到哪个元素。当值为
null
时, 输入字段的父级将被检查一类ui-front
。如果找到具有ui-front
类的元素,则为菜单 将附加到该元素。无论价值如何,如果没有 找到元素后,菜单将附加到正文中。