我一直试图让typeahead.js工作2天,我拒绝相信应该这么难。到目前为止,没有一个例子可以使用,我一直在弄清楚出了什么问题。
首先,我从这个存储库下载了typeahead.bundle.js文件:
https://github.com/twitter/typeahead.js/tree/master/dist
我的代码如下所示:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Typeahead example</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css">
</head>
<body>
<input id="search"/>
<!-- jQuery -->
<script src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<!-- Latest compiled and minified Bootstrap -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<!-- Latest Typeahead.js -->
<script src="typeahead.bundle.js"></script>
<script type="text/javascript">
var colors = ["red", "blue", "green", "yellow", "brown", "black"];
$(document).ready(function() {
$('#search').typeahead({source: colors});
})
</script>
</body>
</html>
请帮我解决这个问题。
编辑:从sakir的回答中,我现在更改了我的Javascript代码以适应版本10的语法,但它仍然没有显示任何建议:< / p>
<script type="text/javascript">
var colors = ["red", "blue", "green", "yellow", "brown", "black"];
$(document).ready(function() {
$('#search').typeahead({
highlight: true,
hint: false
}, colors);
});
</script>
答案 0 :(得分:0)
我猜您的示例仅适用于typeahead 0.9.x版本。对于10版本,似乎有显着的更改。我可以查看here以获取更多信息。
我使用typeahead 0.9版测试了你的例子,它运行正常。这是正在运行的样本。
http://jsfiddle.net/179yevon/
如果你想使用最新版本的typeahead,你可以选择示例here
你可以看到,从第一个例子开始,source参数接受类似source: substringMatcher(states)
的函数。
可能是您可以根据
<强>更新强> 使用v.10,你可以做这样的事情。
var colors = ["red", "blue", "green", "yellow", "brown", "black"];
var colorsource = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
// `states` is an array of state names defined in "The Basics"
local: colors
});
$('#search').typeahead({
hint: true,
highlight: true,
minLength: 1
},
{
name: 'color',
source: colorsource
});
这是小提琴手
http://jsfiddle.net/qug5qdnp/
*根据类型来源,血液制度是做什么准备数据源的。 如上所述,source获取函数作为参数和函数期望前面类型的字符串array.source只接受字符串数组,如果不打算使用血统,你需要将它转换为数组的数组