【发布时间】:2022-09-28 00:34:27
【问题描述】:
我正在尝试实现 Jquery 自动完成。我正在使用他们site 中的教程示例,但到目前为止,无论我输入什么搜索结果,它都会返回我的所有结果
<script>
$(function() {
$( \"#birds\" ).autocomplete({
source: \"fetchData.php\",
minLength: 2,
select: function( event, ui ) {
log( \"Selected: \" + ui.item.value + \" aka \" + ui.item.id );
}
});
});
fetchData.php
$conn = new PDO (\'odbc:xxx\',\'xxxx\',\'xxxxxx\');
$qry = \"select distinct name_customer from v_customer_master\";
$sql = $conn->query($qry);
//$custName = array();
while($row = $sql->fetch((PDO::FETCH_ASSOC))){
$row[\'name_customer\'] = mb_convert_encoding($row[\'name_customer\'], \'UTF-8\', \'UTF-8\');
$custName[] = $row[\'name_customer\'];
//array_push($custName,$row[\'name_customer\']);
}
echo json_encode($custName);
-
\"当使用字符串时,自动完成插件期望该字符串指向将返回 JSON 数据的 URL 资源。它可以在同一主机上或不同主机上(必须支持 CORS)。自动完成插件不过滤结果,而是添加了一个带有术语字段的查询字符串,服务器端脚本应该使用它来过滤结果。例如,如果源选项设置为
https://example.com并且用户键入foo,则会向https://example.com?term=foo发出GET 请求。数据本身可以与上述本地数据的格式相同。\" -
@Twisty 嗨,谢谢您的回复。我从 AC 文档页面 (jqueryui.com/autocomplete/#remote) 中获取了我的示例,并将他们的示例复制到我的示例中,但它仍然无法正常工作。我的来源正在返回 JSON 数据。我了解 AC 不会过滤结果。我尝试使用 GET 请求中的术语添加查询字符串(请参见下面的答案)。就目前而言,这仍然行不通。
标签: javascript jquery-ui jquery-ui-autocomplete