【发布时间】:2012-03-20 01:28:41
【问题描述】:
我正在尝试使用从 SQL 数据库中提取数据的远程源创建一个自动完成字段:
$("#venuename").autocomplete({
source: function(req, add){
$.getJSON("../autocomplete/venues.php?callback=?", req, function(data) {
var suggestions = [];
$.each(data, function(i, val){
suggestions.push(val.name);
});
add(suggestions);
});
}
});
venues.php:
require '../../includes/connect.php';
$param = $_GET["term"];
$query = mysql_query("SELECT * FROM venue_details WHERE venueName REGEXP '^$param'");
for ($x = 0, $numrows = mysql_num_rows($query); $x < $numrows; $x++) {
$row = mysql_fetch_assoc($query);
$venues[$x] = array("venueName" => $row["venueName"]);
}
$response = $_GET["callback"] . "(" . json_encode($venues) . ")";
echo $response;
我已经为这不起作用的原因绞尽脑汁了好几个小时,并查看了许多在线资源以寻找答案,但没有找到可以解决我的问题的方法。任何帮助将不胜感激。
【问题讨论】:
-
试试
$.getJSON("../autcomplete/venues.php?callback=?", {term:req}, function( -
对不起,我应该澄清一下 - 自动完成功能根本不起作用。在字段中输入时什么都没有发生。我尝试过
{term:req},但无济于事。 -
您是否尝试过将您获得的内容记录为
req?试试console.log(req.term);或alert(req.term); -
req包含我在字段中输入的字符串,当我输入新字符/删除字符时会发生变化。 -
如果您还没有,我建议您使用 Firebug。它很好地显示了请求的结果,以及发生的任何 js 错误......
标签: jquery jquery-ui autocomplete