首页 新闻 会员 周边 捐助

jquery.autocomplete response返回值问题

0
悬赏园豆:30 [已解决问题] 解决于 2012-03-25 19:57

<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 18:32
< >
分享
最佳答案
0

把JS代码改为这样试试:

<script type="text/javascript">
var emails;
$().ready(function () {
$.get("data.aspx", function (data, textStauts) {
emails = eval(data);
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);
}, "text");
});
</script>
收获园豆:30
artwl | 专家六级 |园豆:16736 | 2012-03-25 19:45

很感谢

小小池 | 园豆:30 (初学一级) | 2012-03-25 19:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册