2013-10-26 75 views
0

我正在使用jquery autosuggest並希望在所有項目出現之前添加默認標題。例如,當用戶開始搜索時,第一個下拉菜單項會顯示「我們建議:」,後面跟着項目列表。以下是我目前有jquery autosuggest在項目前添加標題

$term=$_GET["term"]; 

$查詢=請求mysql_query( 「SELECT DISTINCT region從商家那裏region像 '$項%' 限制10」); $ json = array();

while($region=mysql_fetch_array($query)){ 
$json[]=array(
       'value'=> $region["region"], 
       'label'=>$region["region"] 
        ); 
} 

echo json_encode($ json);

我有PHP和jQuery但不是JSON

由於有一定的瞭解的任何幫助

回答

0

新的答案: 我以前可能誤解了你的問題。也許你只是在問這個問題:

$("#mylist").autocomplete({ 
    source: myjsonarray, 
    open: function(event, ui) { 
    $('.ui-autocomplete').find('li:first').prepend("<div>We Suggest:</div>") 
     } 
}); 

訪問「打開」事件,在第一個列表項前添加一個div。

OLD答:

//make an empty container 
$myresults=array(); 

//manually create your first item 
$myfirstitem=array("value"=>"We suggest","label"=>"We suggest") 

//put your first item in the container 
array_push($myresults,$myfirstitem); 

// fetch your data 
while $result=mysql_query("SELECT phrase from mytable"){ 

    //put each item in the container 
    array_push($myresults,array(
     "value"=>$result, 
     "label"=>$result 
     )); 
} 

//$myresults is now full of phrases. 
///Uncomment this to check it if you want. 
//var_dump($myresults); 

//encode and echo your result 
echo json_encode($myresults); 

上面的代碼說明做你想做的事情的一種方式。有了這個說法,我可能不會把「我們建議」作爲一個實際的選擇......如果你提出一個棒球卡的列表,用戶選擇「我們建議」作爲他們的最愛是沒有意義的棒球卡...

另外,不要讓json打擾你 - 它只是一個「符號」。這個例子非常簡單 - 想一想,並將它用作任何其他數組。

你也可以更有效地做到這一點 - 你不需要返回一個標籤和一個值......但這是另一次談話。

另外,重要的是不要使用mysql_ *函數。看看mysqli和pdo。

祝你好運,我希望有所幫助。

+0

謝謝你的幫助和其他建議(我刪除了標籤) - 確實有效,你是正確的,它需要被忽略作爲一個建議,但你已經指出我在正確的方向。 – user1190323

+0

@ user1190323,請閱讀我編輯的答案,我認爲它更多的是你要找的。 – Ryan

+0

這正是我一直在尋找的。感謝您的幫助,我對此表示感謝。 – user1190323