首页 > 代码库 > jQuery的Autocomplete插件的远程url取json数据的问题

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 + ">"
  }
  });
         }
  },

这样处理一下,就可以正常的对数据进行操作了。

jQuery的Autocomplete插件的远程url取json数据的问题