我一直在嘗試一段時間,但我似乎無法讓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
這是一個公平點,你可以在腳本中使用硬編碼的預填充數組值,而不是動態加載列表。至少這樣,它會顯示動態加載作爲問題,或從潛在問題列表中清除它... –