JqueryUI自动完成:每个列表项只显示一个字符

时间:2010-12-24 09:03:37

标签: jquery-autocomplete

我正在使用jquery-1.4.2.minjquery-ui-1.8.6.custom来获取jsp页面上的自动填充数据,以下是代码段:

$(document).ready(function() { $("input#airportfrom").autocomplete({minLength: 3,
source: function(request, response) { $.ajax({ 
url: "MLocationLookupSearchPopUpAuto.action?LANGUAGE=${param.LANGUAGE}&SITE=${param.SITE}&RESULT_FILTER=3",
dataType:"text/html", 
data: { MATCH : $("#airportfrom").val() }, 
success: function(data) { response(data); } }); } }); });

返回的结果是正确的,因为我在成功函数中使用了alert(data);并且它给出了正确的结果,但在列表中,它每行显示一个字符或一个字母,因此如果我想获得伦敦,它显示为:

l
o
n
d
o
n

知道为什么会这样吗?我们是否必须以json的形式提供数据,因为这里我从jsp获取数据。

2 个答案:

答案 0 :(得分:1)

尝试使用“\ n”

将响应数据拆分为行
$("#tags").autocomplete({
                source: function(request,response) {
                    $.ajax({
                    dataType: "text",
                    url: 'yourscript.php?extraParam=foo',
                    data: { term: request.term },
                    success: function(data) {
                         var lines = data.split("\n");
                         response(lines);
                    }
                })}
        });

答案 1 :(得分:1)

我遇到了同样的问题,并且在服务器端将对象序列化两次(错误地)。返回到客户端的JSON数据被反序列化为字符串而不是数组。