我使用jQuery的自動完成,並希望有一個單獨的PHP文件來存儲數據,而不是創建一個變量(即VAR availableTags =「紅」,「橙」,「黃」,「綠‘藍’ ])如何調用jQuery自動完成的MySQL源數據?
但是,這樣做的時候,自動完成將不斷顯示所有可用的選項,而不是篩選出什麼類型的用戶在
任何想法
的Javascript:?
$(document).ready(function() {
$(".autocomplete").autocomplete({
source: "../../db/autocomplete_list.php"
});
});
autocompl ete_list.php
require_once('../includes/connect.php');
$dbh = connect(DB_HOST,DB_USER,DB_PASSWORD,CM_DATABASE);
$colors = '[';
$sth = $dbh->query ("SELECT * FROM constants
WHERE category='Colors'
ORDER BY display");
while ($row = $sth->fetch()) {
$colors.= '"'.$row[value].'", ';
}
$colors = rtrim($colors, ', ');
$colors .= ']';
print $colors;
autocomplete_list.php的執行
[ 「紅」, 「橙」, 「黃」,「綠色 「藍」]
編輯:
有我autocomplete_list.php文件更新以下內容。但是,現在自動完成不顯示我的值。如果我在FireBug中檢查響應,它會正確顯示結果,但看起來他們沒有被傳回自動完成。
require_once('../includes/connect.php');
$dbh = connect(DB_HOST,DB_USER,DB_PASSWORD,CM_DATABASE);
if(isset($_GET['term'])) {
$mysearchString = $_GET['term'];
}
$sth = $dbh->query("SELECT category, value, display FROM constants
WHERE category = 'COLORS' AND value LIKE '$mysearchString%'
ORDER BY display");
while ($row = $sth->fetch()) {
print $row['display']."\n";
}
你看到頁面上的任何錯誤? –
沒有錯誤。打開FireBug,沒有任何東西。 「GET dev.sample.com/db/autocomplete_list.php?term=l」的響應爲「黃色」,「藍色」。 – Michael
它應該看起來像控制檯中的數組。是這樣嗎? –