2

我有一個簡單的維基百科自動完成使用維基百科的API。jQuery自動完成插件jQuery UI自動完成

目前它正在使用jQuery自動完成插件,我想使用jQuery UI。

有人可以指導我通過嗎?

下面是使用插件工作演示的小提琴: http://jsfiddle.net/VjLnv/

這裏是JS:

function attachWikiAutoComplete(expression) { 
    $("#artist").autocomplete("http://en.wikipedia.org/w/api.php", { 
     dataType: "jsonp", 
     parse: function(data) { 
      var rows = new Array(); 
      var matches = data[1]; 
      for(var i = 0; i < matches.length; i++){ 
       rows[i] = { data:matches[i], value:matches[i], result:matches[i] }; 
      } 
      return rows; 
     }, 
     formatItem: function(row) { return row; }, 
     extraParams: { 
      action: "opensearch", 
      format: "json", 
      search: function() { return $("#artist").val() } }, 
     max: 10 
    }); 
} 

非常感謝

+0

問題是什麼? – JellyBelly

+0

我正在使用jQuery自動完成插件,而不是使用jQuery自帶的默認自動完成功能,並且我想更改它,所以我不會使用該插件。如果您檢查小提琴,請嘗試刪除jquery.autocomplete.pack.js。它不會工作 – jQuerybeast

回答

8

這是jQueryUI的自動完成的等效代碼:

$("#artist").autocomplete({ 
    source: function(request, response) { 
     $.ajax({ 
      url: "http://en.wikipedia.org/w/api.php", 
      dataType: "jsonp", 
      data: { 
       'action': "opensearch", 
       'format': "json", 
       'search': request.term 
      }, 
      success: function(data) { 
       response(data[1]); 
      } 
     }); 
    } 
}); 

工作示例:http://jsfiddle.net/UGYzW/2/

+0

Ey男人字面上我希望你會加入我的問題。哈哈,你又做了。你激勵我。你知道什麼,我想學什麼 – jQuerybeast

+0

@jQuerybeast:很高興幫助':)' –