【发布时间】:2014-01-21 18:46:18
【问题描述】:
我正在尝试通过从 php 返回值数组并填充它来使 jquery ui 自动建议工作。
这是我的代码:
html:
<input type="text" name="search" id="search" placeholder="search user..."/>
jquery:
$(function() {
$("#search").on("keyup",function(){
$.get("searchterm.php",{searchterm:$(this).val()},function(data){
$("#search").autocomplete({
source: data
});
});
});
});
searchterm.php
<?php
header('Content-Type: application/javascript');
include 'includes/initialize.php';
if(isset($_GET["searchterm"])){
$search = $_GET["searchterm"];
$result = $db->query_db("select * from users where username like '%$search%'");
$out = "";
$i=0;
$num_rows = mysqli_num_rows($result);
while ($row = $db->fetch_array($result)) {
$i++;
if($num_rows == $i){
$out .= '"'.$row['username'].'"';
}else{
$out .= '"'.$row['username'].'",';
}
}
echo "[".$out."]";
}
php 代码运行良好,并以以下格式返回:
["user1","user2"] 基于传递的查询字符串。
但我没有得到想要的结果。请有人帮我解决这个问题。
【问题讨论】:
-
在AJAX调用的回调函数中做console.log(data)会得到什么?
-
["administrator","susheel61","susheel62"] 基于它返回的查询很好...
-
由于某种原因,它以这种方式附加:GET localhost/project/[%22susheel61%22,%22susheel62%22]?term=su 并出现错误
-
使用您当前的结构,您正在使用每个 keyup 事件实例化自动完成,这不是自动完成的设计方式。我会尽快发布答案。