我已經做了大量的研究,但我仍然沒有得到如何使用jQuery ui自動完成。自動完成不起作用,我不知道爲什麼。任何幫助將不勝感激!jQuery UI自動完成JSON響應問題
我在前臺有以下內容。 1. jQuery正確鏈接。 2. jQuery-ui正確鏈接。 3. jQuery-ui css正確鏈接。
<script>
$("#tags").autocomplete({
source: function(request, response){
$.post("/panel/tags.php", {data:request.term}, function(data){
response($.maps(data, function(item) {
return {
label: item.tagName,
value: item.tagID
}
}))
}, "json");
},
minLength: 2,
dataType: "json",
cache: false,
focus: function(event, ui) {
return false;
},
select: function(event, ui) {
this.value = ui.item.label;
/* Do something with user_id */
return false;
}
});
</script>
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags" size="50" />
</div>
在後端:
$query_tags = "SELECT tagID, tagName FROM DCB_Tags WHERE tagName LIKE '".$_GET['tags']."%' ORDER BY tagName ASC LIMIT 10";
$result_tags = mysql_query($query_tags) or die ("Error: " . mysql_error());
$response = array();
$tags = array();
while($row=mysql_fetch_array($result_tags))
{
$tagID=$row['tagID'];
$tagName=$row['tagName'];
$tags[] = array('tagID'=> $tagID, 'tagName'=> $tagName);
}
header("content-type: text/javascript");
echo json_encode($tags);
exit();
輸出,用於這是:
[{ 「TAGID」: 「1」, 「變量名」: 「藝術」},{」 tagID「:」4「,」tagName「:」art shows「},{」tagID「:」3「,」tagName「:」artist「},{」tagID「:」2「,」tagName「設計「}]
如果你通過放置?tag = art來訪問頁面,它正確地消除了「設計」。
太棒了!請注意:我需要一個與標籤不同的值(在我的例子中,cust_name和cust_nbr)。在「label:item.tagName」之後添加第二行:「value:tagId」。另外,從服務器返回的JSON包含一個包含實際數據的子數組,我的客戶信息在data.cust_data中。在你的$ .map中做:「$ .map(data.cust_data,function(item){」。(我猜我可以用item.cust_data.cust_nbr)只是一個簡單的參考。 – gregthegeek