gpt4 book ai didi

typeahead - 如何让 typeahead JS 处理我的 json 文件

转载 作者:行者123 更新时间:2023-12-03 07:52:35 27 4
gpt4 key购买 nike

我想用 Typeahead JS 做一个简单的自动完成但我不能让它工作。我按照手册中的说明进行操作,但我不确定我在这里做错了什么。我无法从 json 文件中获取正确的值。它是一个带有对象的数组,我只想要国家/地区名称。我想应该没有那么难。我不显示任何东西。请帮忙!
您可以在 Typeahead Github 页面的“入门”中找到 typeahead js 文件。

这是我的代码:

<head>
<script src="http://code.jquery.com/jquery-2.1.3.min.js"></script>
<script src="typeahead.jquery.min.js"></script>
<script src="bloodhound.min.js"></script>
</head>

<body>
<div id="prefetch">
<input class="typeahead" type="text" placeholder="Countries">
</div>
<script>

var countries = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
limit: 4,
prefetch: {
url: 'countries.json',
}
});

countries.clearPrefetchCache();
countries.initialize();

$('#prefetch .typeahead').typeahead(null, {
name: 'countries',
displayKey: 'country',
source: countries.ttAdapter(),
});

</script>


</body>`

JSON 文件 (countries.json):
[
{
"country": "Holland",
"city": "Amsterdam"
},
{
"country": "Belgium",
"city": "Brussel"
},
{
"country": "Germany",
"city": "Berlin"
},
{
"country": "France",
"city": "Paris"
}

]

最佳答案

您的 datumTokenizer 配置不正确。它应该是这样的。
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('country'),
这是一个 demo

我知道这个问题很老,但我希望这会有所帮助。

关于typeahead - 如何让 typeahead JS 处理我的 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29120060/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com