Jquery自动完成问题

时间:2013-07-09 12:56:50

标签: java jquery ajax jquery-autocomplete

我是jQuery的新手,我正在尝试使用自动完成小部件对我的数据库进行ajax调用。

我能够调用数据库,返回字符串值的ArrayList,并使用org.codehaus.jackson.map.ObjectMapper将响应转换为JSON对象(我是否需要使用其他东西?)。

当我放置一个祭坛时,我可以将结果视为带有逗号分隔符的纯字符串,但是无法看到具有自动完成功能的建议列表。

使用org.codehaus.jackson.map.ObjectMapper返回JSON对象的Java代码:

response.setContentType("application/json");
response.setHeader("cache-control", "no-cache");  
ArrayList polNo = doa.getPolicyData(ajaxForm.getPolicyNumber());
ObjectMapper mapper = new ObjectMapper();  
OutputStream out = response.getOutputStream();
mapper.writeValue(out, polNo);

JavaScript代码:

$( "#policyNumber" ).autocomplete({
 source: function (request,response){

 $.ajax({  
 type: "POST",     
 url: "/NB/AjaxSubmit.do",   
  dataType: "json",        
  data: {policyNumber: request.term},

   success: function (data) { 
   alert(data);    
   }

  });  

 },minLength: 3
});

警报数据显示为:TMA412732,TMA412733,TMA412734


在上面的代码中,我返回了字符串值的ArrayList,并且能够在autopopulate中显示。我已经增强了上面的代码,以返回具有名字,姓氏等的人物对象列表。现在,当用户在autopopulate中输入名字或姓氏时,我想建议名字,姓氏名字。

有人可以帮助加强这个吗?谢谢!

成功:功能(数据){                         响应(数据); //忘了设置响应数据                     }

1 个答案:

答案 0 :(得分:0)

更改成功功能,如

success: function (data) {
response(data); //u forgot to set data on response

}