我一直在尝试一段时间,但我似乎无法让jQuery自动完成工作。我有一个搜索框,我想要启用自动填充,名为#searchBox
。我有以下的jQuery代码:不能让jQuery自动完成工作
$(function(){
$("input, textarea, select, button").uniform();
$('#searchPost').submit(function(event) {
if ($(this).find('#searchBox').val() == '') {
event.preventDefault();
}
});
$("#searchBox").autocomplete({
source: "php/searchAC.php"
});
});
,第一部分的皮肤我的形式,第二部分不允许搜索表单提交,如果有一个空场,而最后一部分是自动完成的。这里是php/searchAC.php:
<?php
session_start();
$con = mysql_connect("localhost","foo","bar");
mysql_select_db("coupons", $con);
$currentZone = $_SESSION["zoneSelected"];
$results = mysql_query("SELECT id,retailerName,savingsDetails,dateExp FROM coupons WHERE retailerName LIKE '%" . $_GET['term'] . "%' OR description LIKE '%" . $_GET['term'] . "%' AND dateExp > CURDATE() AND zone='$currentZone' AND approved <> 0");
$printResults = array();
while($row = mysql_fetch_array($results))
{
$printResults[] = $row;
}
echo json_encode($printResults);
?>
我有我的文件头中包含的所有正确的jQuery UI样式表和文件。当我运行这个时,它不会显示任何表明启用了自动完成功能的行为。我对jQuery相当陌生,所以我可能错过了一些简单的事情。任何帮助?
你可以发布演示,再现你的问题(在[JS小提琴](http://jsfiddle.net/),也许)?另外,'$(this).find('#searchBox').val()'可以用'$('#searchBox').val()'代替,但这不是很大的保存。 –
我不知道我是否可以将它放在JS Fiddle上,因为我想访问我的服务器上的数据库。 – AKor
这是一个公平点,你可以在脚本中使用硬编码的预填充数组值,而不是动态加载列表。至少这样,它会显示动态加载作为问题,或从潜在问题列表中清除它... –