2011-02-07 50 views
5

我想在搜索字段中使用jquery-ui進行自動完成。由於搜索取決於另一個表單字段的值,因此我使用回調來源。我可以看到請求被正確發送。我的遠程腳本返回一個簡單的字符串數組,並且在那個時候我無法讓它工作。下拉列表從不建立。誰能告訴我爲什麼?下面的代碼:處理來自jquery-ui自動完成中的自定義源的數據

$(document).ready(function(){ 
    $("#species").autocomplete({ 
     source: function(request, response) { 
     $.ajax({ 
      url: "/includes/species-ajax.cfm", 
      dataType: "jsonp", 
      data: { 
      term: request.term, 
      searchBy : function() { 
       var sb = $("#searchBy_hidden").val(); 
       return (sb ? sb : 'common_name'); } 
      }, 
      success: function(data) { 
      response($.map(data, function(item) { 
       return { 
       label: item.name, 
       value: item.name 
       } 
      })); 
      } 
     }); 
    }}); 
    }); 

<input type="hidden" name="searchBy_hidden" id="searchBy_hidden" value="common_name" /> 
Enter the name of a species: <input type="textbox" size="30" id="species" /> 

感謝,

+0

我試過回調幾個變化爲`success`:`成功:功能(數據){響應(數據); ``,例如 – jaybee 2011-02-07 13:54:40

回答

4

試着改變你的dataType'json',不'jsonp'