关于远程返回的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 + ">" } }); } },
这样处理一下,就可以正常的对数据进行操作了。
时间: 2024-08-03 11:32:07