首页 新闻 会员 周边

jquery.autocomplete response返回值问题

0
悬赏园豆:80 [已解决问题] 解决于 2012-03-25 17:09

<script type="text/javascript">
var emails = [
{ name: "我的测试", to: "peter@pan.de" },
{ name: "我的包包", to: "molly@yahoo.com" },
{ name: "我不会C++", to: "live@japan.jp" }
];
$().ready(function() {
function findValueCallback(event, data, formatted) { window.location.href="/fla/"+data.to+".aspx"; }
$("#keyword").autocomplete(emails,{
minChars: 1, //自动完成激活之前填入的最小字符
max:10,
width: 140, //提示的宽度,溢出隐藏
matchContains: true, //包含匹配,就是data参数里的数据,是否只要包含文本框里的数据就显示
autoFill: false, //自动填充
parse: function(data) {
return $.map(eval(data), function(row) {
return {
data: row,
value: row.name,
result: row.name
}
});
},
formatItem: function(data) { return data.name; },
formatResult: function(data) { return data.to; }
});
$("#keyword").result(findValueCallback);
});
</script>

放在前台时数据自动匹配:如图(以下是没问题)

 

=============================================

 

如果把emails换成“data.aspx”页面输出就出现问题

context.Response.Write("[ { name: \"我的测试\", to: \"peter@pan.de\" }, { name: \"我的包包\", to: \"molly@yahoo.com\" }, { name: \"我不会C++\", to: \"live@japan.jp\" }] ");

我输入“我的大”时,当搜索的字符不匹配 还会显示所有的数据(本应该没数据显示的)

 

大家这个问题怎么解决呢???

小小池的主页 小小池 | 初学一级 | 园豆:30
提问于:2012-03-25 16:44
< >
分享
最佳答案
0
context.Response.Write("[ { name: \"我的测试\", to: \"peter@pan.de\" }, { name: \"我的包包\", to: \"molly@yahoo.com\" }, { name: \"我不会C++\", to: \"live@japan.jp\" }] ");

这个不是标准的JSON格式字符串,换为这样试试:

context.Response.Write("[ { \"name\": \"我的测试\", \"to\": \"peter@pan.de\" }, { \"name\": \"我的包包\", \"to\": \"molly@yahoo.com\" }, { \"name\": \"我不会C++\", \"to\": \"live@japan.jp\" }] ");

你用firebug看一下返回值是什么?

收获园豆:80
artwl | 专家六级 |园豆:16736 | 2012-03-25 16:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册