2010-09-12 40 views
-1

我想顯示顯示像 街道名稱>城市>國家(4個不同的varaibles街道,城市,國家,網址,我在JSON從服務器獲取) ,當我選擇的話,會轉到URL像一個鏈接 並突出顯示我在建議中找到的字母 我該怎麼辦? 這裏是我的代碼如何使用jquery UI自動完成1.8.4?

<script type="text/javascript"> 
    $('#search').autocomplete({ 
     source: function(req, add){ 

      //pass request to server 
      $.getJSON("suggest.php?callback=?", req, function(data) { 

       //create array for response objects 
       var suggestions = []; 

       //process response 
       $.each(data, function(i, val){ 
       suggestions.push(val.lable+' '+val.value+' '+val.both); 
      }); 

      //pass array to callback 
      add(suggestions); 
      }); 
     }, 
     select: function(e, ui) { 
     $('#search').val(ui.item.lable); 
     }, 
     width: 300, 
     max: 10, 
     delay: 50, 
     minLength: 1, 
     scroll: false, 
     highlightItem: true 
     }); 
    </script> 

服務器響應

([{"lable":"apartamentos mojácar beach","value":"mojacar","both":"spain"},{"lable":"hotel mandakini grand","value":"new delhi","both":"india"},{"lable":"hotel sol y mar sharming inn","value":"sharm el sheikh","both":"egypt"},{"lable":"la quinta inn and suites sarasota","value":"sarasota","both":"usa"},{"lable":"ocean sand golf and beach resort","value":"punta cana","both":"dominican republic"},{"lable":"rooms barcelona","value":"barcelona","both":"spain"},{"lable":"villa maroc essaouira","value":"essaouira","both":"morocco"},{"lable":" il casale farmhouse with panoramic swimming poo","value":"bettona","both":"italy"},{"lable":" shelley's ","value":"lynton","both":"united kingdom"},{"lable":" 1 melrose blvd by seasons in africa","value":"johannesburg","both":"south africa"}]); 

我知道問題是出在「選擇」和autocomple的「來源」字段,但我不知道如何使用它。 如何解析響應,使其可以工作。它只有一個領域工作,但不是4場商(VAR)

//////////////////////

確定現在我可以得到3來自服務器的惡意軟件,我將它們添加到源代碼中。 但我不能只選擇一個它選擇所有的字符串! 我該如何管理?

回答

0

我不明白。您的代碼以何種方式不起作用?什麼建議。PHP的樣子?如果suggest.php是你想要的格式化字符串列表,它應該可以正常工作。

+0

我將編輯問題 – Ben 2010-09-12 15:55:24

+0

你的「答案」應該是對問題的評論。 – 2010-09-12 16:03:05

+0

我添加服務器回答這個問題。 – Ben 2010-09-12 16:03:12

1

如果你想使用jquery ui自動完成,你的數據必須是「一個簡單的字符串數組,或者它包含數組中每個項目的對象,帶有標籤或值屬性或兩者」。這是來自http://jqueryui.com/demos/autocomplete/

的文檔您的服務器響應不符合預期的數據類型,您應該修改suggest.php以將數據後處理爲標籤值對。

據我所知,您還希望在從自動完成中選擇某個項目時執行自定義操作,因此您還應該爲「選擇」事件添加處理程序。

+0

來源現在正在工作,但選擇不起作用。看看我添加代碼 – Ben 2010-09-12 17:54:22

+0

在SELECT屬性中的問題我可以只抓住我在源代碼中創建的字符串,我從3個變量創建的字符串,我想知道是否可以選擇每個變量例如我想要的搜索「HIL」並獲得HILTON LOS ANGELES USA建議,當我選擇它時只會顯示「HILTON」,有辦法解決它嗎? – Ben 2010-09-12 22:41:00

+0

如文檔中所述,您可以在返回的對象的「value」屬性中隔離所需的變量。例如,對象可以是{「label」:「HILTON LOS ANGELES USA」,「value」:「HILTON」} – 2010-09-12 23:49:01