jQueryUI 自动完成映射响应数据
Posted
技术标签:
【中文标题】jQueryUI 自动完成映射响应数据【英文标题】:jQueryUI autocomplete mapping response data 【发布时间】:2013-01-11 00:36:44 【问题描述】:关于 jQuery 自动完成的另一个问题,尽管此论坛或 jQuery 文档上有大量资源,但我遇到了问题。
我很难使用 jQuery UI 映射来自 php 脚本的响应数据。代码如下:
$("#shared-with").autocomplete(
source: function(request, response)
$.ajax(
type: 'get',
url: 'ajax/search.php',
data: term: request.term ,
success: function(data)
// alert(data);
response($.map(data, function(c)
return
label: c.name,
value: c.nametag
));
);
);
我的问题是 jQuery 自动完成功能没有正确理解 response/map 函数,尽管从 search.php 发回的数据看起来像:
echo json_encode(
array('name' => 'Bill', 'nametag' => 'Big Bill'),
array('name' => 'Fred', 'nametag' => 'Small Fred'),
);
PS:当我在 javascript 弹出窗口中提醒“数据”时,向我显示一个有效的 javascript 数组/对象... PS:“#shared-with”只是文本区域
有什么想法吗?提前致谢。
【问题讨论】:
【参考方案1】:我发现数据实际上是以字符串形式从我的 PHP 搜索页面返回的。
我需要做的就是将字符串重新转换为 JS 数组:
data = $.parseJSON(data);
response($.map(data, function(c)
return
label: c.name,
value: c.nametag
));
【讨论】:
以上是关于jQueryUI 自动完成映射响应数据的主要内容,如果未能解决你的问题,请参考以下文章