jQuery 输入联想数据,怎么得全部json传的数据。 谢谢
javascript 代码
<script>
$(document).ready(function()
{
// 联想数据
$("#suggestionName").autocomplete('search',
{
matchContains: true,
minChars: 0,
scroll: false,
scrollHeight: 500,
width: 400,
extraParams: {name:function(){
return $('#suggestionName').val();
}},
dataType: "json",
mustMatch:false,
parse: function(data) {
return $.map(data, function(row) {
return {
data: row,
value: row.name,
result: row.name
}
});
},
formatItem: function(data,i,max) {
// 该怎么迭代json传的map数据?
return data.name;
}
}).result(function(data) {
return data.name;
});
});
</script>
//Java后台代码
// 转换乱码
name=new String(name.getBytes("ISO-8859-1"),"utf-8");
// 等到公司信息
List<Company> comList = indexService.findCompany(name, name);
// 创建map 存放json需要的数据
Map<String, Object> map = new HashMap<String, Object>();
if(comList != null)
{
for (int i = 0; i < comList.size(); i++)
{
// 我输入name得打很多条数据,我打算把map的key用name+i 做唯一的key,但是前台的js代码不知道怎么迭代。 /////用for来迭代要出错。
map.put("name"+i, comList.get(i).getCompanyName() +" "+ comList.get(i).getCompanyInfo());
}
}
getResponse().setContentType("ext/json;charset=UTF-8");
// 转换成json数据
JSONArray jsonArray = JSONArray.fromObject(map);
PrintWriter out = this.getPrintWriter();
getResponse().setCharacterEncoding("UTF-8");
out.write(jsonArray.toString());
out.flush();
out.close();
求指教.