2011-05-16 52 views
1

希望有人能夠提供幫助。我正在使用Oracle Application Express(ApEx v3.0.1),我想使用jQuery UI - 具有多個值的自動完成示例。如何使用jQuery UI - 使用Oracle ApEx實現多值自動完成

請參見:>http://jqueryui.com/demos/autocomplete/#multiple

基本上,查看源在這個例子中,它具有以下變量的數據集:

 var availableTags = [ 
     "ActionScript", 
     "AppleScript", 
     "Asp", 
     "BASIC", 
     "C", 
     "C++", 
     "Clojure", 
     "COBOL", 
     "ColdFusion", 
     "Erlang", 
     "Fortran", 
     "Groovy", 
     "Haskell", 
     "Java", 
     "JavaScript", 
     "Lisp", 
     "Perl", 
     "PHP", 
     "Python", 
     "Ruby", 
     "Scala", 
     "Scheme" 
    ]; 

我想這樣做,不確定該怎麼做與Oracle APEX通過按需過程引用數據庫表,並檢索客戶名稱,我希望用戶從中選擇多個值,甚至只選擇一個值。

雖然唯一的問題是,這張表有超過90,000條記錄,所以不知道這是什麼最好的方法。

很多人想要這樣做,像Stackoverflow在選擇問題標籤時所做的那樣。

謝謝。

回答

2

您可以通過一個函數作爲source option

$(stuff).autocomplete({ 
    source: function(request, response) { 
     $.ajax({ 
      url: '/your/autocompleter?pat=' + encodeURIComponent(request.term), 
      type: 'get', 
      success: function(data) { 
       response(data.split('\n')); 
      }, 
      // Other AJAX options as needed 
     }), 
     // Other autocomplete options as needed 
}); 

然後,/your/autocompleter會得到什麼,他們目前已經在pat參數中輸入並用它來查詢您的數據庫中查找可能的匹配。要將可能的匹配返回到自動完成器,只需將可能的匹配返回爲字符串列表—每行—一個匹配,內容類型爲text/plain。您不需要使用「每行一個」純文本格式,但這可能是最簡單的,您只需確保成功回調可以將/your/autocompleter返回數據解析爲數組,以交給response