【发布时间】:2014-03-01 17:10:02
【问题描述】:
我正在使用对我的 PHP 文件的 ajax JSON 调用来构建一个带有 Twitter typeahead 的自动完成功能以获取一些数据,但它一直在下拉结果列表中显示以下内容:
未定义
未定义
未定义
但是当我这样做时:
alert(data);
我显示了正确的数据,但不知何故自动完成列表一直显示未定义,我已经阅读并尝试了 StackOverflow 上的一些文章,但我似乎无法让它工作。
我必须遵循 jquery 代码:
$('.item-name .typeahead').typeahead(null,{
source: function (query, process) {
$.ajax({
url: 'ajaxItems.php',
type: 'POST',
dataType: 'JSON',
data: 'query=' + query,
success: function(data) {
// alert(data);
process(data);
}
});
}
});
我的 ajaxItems.php 有以下代码用于测试目的:
<?PHP
$results = array();
$results[] = 'jeans';
$results[] = 'sweater';
$json = json_encode($results);
print_r($json);
?>
JSON输出如下:
["jeans","sweater"]
我希望有人能指出我做错了什么或指出我正确的方向。
编辑 我正在使用以下预输入文件: http://twitter.github.io/typeahead.js/releases/latest/typeahead.bundle.js
【问题讨论】:
-
我在哪里可以找到这个?这只是显示结果的预输入或引导过程函数。
-
@Rikesh,process() 是打字头代码的一部分
-
抱歉,我卡住了:(它是来自 twitter bootstrap 的预输入?
-
是的,它的 twitter 预输入。
-
是bootstrap 2.x、3.x还是blog.twitter.com/2013/twitter-typeaheadjs-you-autocomplete-me??假设它是 BS 版本之一:(
标签: php jquery ajax json typeahead