我无法显示jQuery UI自动完成的结果,尽管php代码返回json结果。jquery代码如下:
$("#newName").autocomplete({
source: function(request, response) {
$.ajax({
url: root + "/assets/php/autocomplete.php",
dataType: "json",
data: {
term : request.term,
field : "name"
},
success: function(data) {
response(data);
}
});
});
PHP代码是:
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
$row_array['value'] = $row[$field];
array_push($return_arr,$row_array);
}
echo json_encode($return_arr);
在Firebug中检查结果时,我得到如下响应:
[{"value":"jdoe"}]
然而,我从来没有看到一个建议列表显示在html页面。
8条答案
按热度按时间xcitsw881#
我通过在我的主css文件中添加自动补全的z索引样式来修复这个问题。现在一切正常。
nlejzf6q2#
我也有同样的问题。对于我的解决方案是设置z-index为更高的值像这样
某些元素隐藏自动完成表单。(在我的应用程序中)
k5ifujac3#
在PHP代码中,尝试将'value'改为'label':
我不知道为什么,但似乎这很重要。我将附上为我工作的例子。在我的例子中,我必须通过一个PHP文件从jQuery进行MySQL连接。我想做一个自动完成的领域,你可以写一个用户名,当你点击用户名,相关领域(姓名,姓氏,电子邮件...)填充。下面是我的代码:
HTML代码:
myjQuery.js:
PHP文件jscallsController.php:
1mrurvl14#
试试这个,对我很有效
cygmwpex5#
建议使用CSS的答案实际上只是解决问题。根据JQuery Automcomplete API文档,您应该将类
ui-front
添加到您希望自动完成列表附加到的元素(很可能是#newName
元素的父元素),否则它会被放入页面的主体中。或者,您可以将父节点的id指定为
appendTo
参数。6jygbczu6#
只是想分享一下解决我问题的方法。
这很常见,但可能会帮助其他人。
除了在项目中包含
jquery-ui.js
之外。始终确保您还包括jquery-ui.css
eulz3vhy7#
我遇到了这个问题与辅助自动完成文本从一个模态。
第二个包含返回数据的
ui-id-2
无序列表的display
属性设置为none
。所以我必须用z索引来更新它。edqdpe6u8#
你试过这个吗?
您的阵列密钥是
'value'
,而不是'term'