jQuery的Autocomplete插件的远程url取json数据的问题
关于远程返回的json数据的展示,以前一样的代码,如果是本地写好的json串数据,插件显示就没有问题,一旦换成ulr方式读取一样的数据,插件就不能正常显示问题了。
今天偶然搜索资料找到一篇csdn上有人提问的问题,也是相同的问题
http://topic.csdn.net/u/20090703/14/8d349262-8ca1-4bf5-998d-3a0712412149.html
有高人解答了
$("#autocomplete").autocomplete("data.aspx", {
minChars: 0,
max:15,
width: 200,
scroll: false,
scrollHeight: 500,
//需要把data转换成json数据格式
parse: function(data) {
if (data != "") {
return $.map(eval(data), function(row) {
return {
data: row,
value: row.name,
result: row.name + " <" + row.to + ">"
}
});
}
},
formatItem: function(data, i, total) {
return "<div style='float:left'>"+data.name+data.to+"</div>"
},
formatMatch: function(data, i, total) {
return data.name;
},
formatResult: function(data, value) {
return data.name;
}
}).result(function(event, data, formatted) {
$("#twoColum_abbr").val(data.to);
});
在数据返回回来之后,还要在进行一次处理
关键点就在于
//需要把data转换成json数据格式,注意必须判断data是否为空,否则出异常,如下红色标注
parse: function(data) {
if (data != "") {
return $.map(eval(data), function(row) {
return {
data: row,
value: row.name,
result: row.name + " <" + row.to + ">"
}
});
}
},
这样处理一下,就可以正常的对数据进行操作了。