1
A
回答
0
它甚至有可能做到這一點的jQuery的一面?可能是你必須加載和「手動」加入文件。
1
首先,docs表示「自動填充插件期望該字符串指向將返回JSON數據的URL資源。」 注意:JSON,而不是XML所以你需要在下面將你的xml轉換成json。
xml to json可以在您的服務器上或客戶端瀏覽器上完成。如果可能的話,在服務器上執行一次操作會更快。
要使用多個源文件,您需要首先在HTML/JS頁面中加載多個文件。然後將它們連接在一起成爲一個Javascript數組,然後將該數組提供給自動完成調用。
喜歡的東西:
<script>
myproject_choices = []; // global var. Hence prefix with project name.
var cb = function(data){jQuery.merge(myproject_choices, data);}; // callback for ajax
$.getJSON('ajax/choices1.json', cb); // fetch and concatenate the choices
$.getJSON('ajax/choices2.json', cb);
$.getJSON('ajax/choices3.json', cb);
</script>
# later...
$(".selector").autocomplete({source: myproject_choices });
0
我可能可以通過編寫自定義源功能:
$("#elm").autocomplete({ source: function(request, response) {
$.ajax({
url: "links1.xml",
success: function(data)
{
// store data here
$.ajax({
url: "links2.xml",
success: function(data)
{
// combine data from first call with this call
response(combineddata);
}
}
});
}....
但我你能文件在其他一些結合點可能是優選的。
0
我想如果你能夠從加載數據的任務分成
- 數據的檢索
- 填充自動完成
多個來源並統一它們,您可以使用結果來填充自動完成控件。我建議你看看使用jQuery Deferred-objects(api.jquery.com/jQuery.Deferred)加載數據異步,並等待所有調用返回並使用結果使用$.when(...).then(...)
以下示例來自編寫良好的相當好地解釋了網站:http://www.danieldemmel.me/blog/2013/03/22/an-introduction-to-jquery-deferred-slash-promise/
function getReady() { var deferredReady = $.Deferred(); $(document).ready(function() { deferredReady.resolve(); }); return deferredReady.promise(); } var firstRequest = $.ajax({ url: 'http://www.html5rocks.com/en/tutorials/file/xhr2/' }); var secondRequest = $.ajax({ url: 'http://www.html5rocks.com/en/tutorials/audio/scheduling/' }); $.when(getReady(), firstRequest, secondRequest ).done(function(readyResponse, firstResponse, secondResponse) { var insertDiv1 = $('<div></div>'); insertDiv1.html($(firstResponse[0]).find('section').html()); var insertDiv2 = $('<div></div>'); insertDiv2.html($(secondResponse[0]).find('section').html()); $('body').append(insertDiv1, '<hr/>', insertDiv2); });
相關問題
- 1. jQuery用戶界面自動完成
- 2. jQuery用戶界面自動完成 - renderItem
- 3. jQuery用戶界面自動完成
- 4. jQuery用戶界面自動完成 - 構建自定義源
- 5. jQuery用戶界面自動完成 - 從源頭
- 6. jQuery用戶界面自動完成:遠程源問題
- 7. jQuery用戶界面自動完成Ajax和多個值
- 8. 呈現在jQuery用戶界面自動完成多個列表
- 9. 自動完成用戶界面問題
- 10. 使用JSON jQuery用戶界面自動完成從URL
- 11. jQuery用戶界面自動完成未完全填滿數據
- 12. jQuery用戶界面自動完成 - 的.ui-自動完成裝載
- 13. jQuery的自動完成和jQuery用戶界面對話框
- 14. JQuery用戶界面自動完成重新格式化的源數據按需要用於與jQuery用戶界面自動完成的輸入
- 15. jQuery用戶界面 - 自動完成 - UTF8字符集
- 16. JQuery用戶界面自動完成返回所有值
- 17. 跨度與jQuery用戶界面自動完成
- 18. jQuery用戶界面自動完成只彈出用的minLength:0
- 19. 不知道如何使用JQuery用戶界面自動完成... :(
- 20. jQuery的生活()+焦點() - 用戶界面自動完成
- 21. JQuery用戶界面自動完成未達到的ActionResult C#MVC
- 22. jQuery用戶界面自動完成(組合框)按鈕對準
- 23. jQuery用戶界面自動完成IE問題
- 24. jQuery用戶界面自動完成之後AJAX <select>
- 25. jQuery用戶界面自動完成新增span
- 26. jQuery用戶界面自動完成PHP檢索名稱
- 27. jQuery用戶界面自動完成佈局/ CSS
- 28. jQuery用戶界面自動完成從只有一個國家
- 29. JQuery用戶界面自動完成和谷歌關鍵詞
- 30. jQuery用戶界面自動完成需要額外的功能
我已經用1個xml文件做它爲什麼我不能再發出第二個請求?我知道我可以請求所有文檔,然後將它們解析在一起,然後將其傳遞給jquery,但是額外的步驟會像浪費時間一樣接縫。我寧願只做2個獨立的源請求。 – specked 2010-10-25 20:40:15
可能是jQuery _has_實現了使用2個文件作爲源的功能,或者可能是_not_。據我所知,它沒有這個功能,所以你必須自己做。另一種方法是在服務器端,你不能只加入文件嗎? – joni 2010-10-25 20:43:49