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