javascript - 来自 typeahead.js 的奇怪行为

标签 javascript typeahead.js typeahead

我已经设置了 typeahead.js 版本 0.11.1 以从 geobytes API 中提取城市。这是一个可以做到这一点的代码笔:

http://codepen.io/jeremeevans/pen/OVPram

var cities = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace(),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    remote: {
        url: "http://gd.geobytes.com/AutoCompleteCity?callback=?&template=<geobytes%20city>,%20<geobytes%20code>&filter=US&q=%QUERY",
        wildcard: "%QUERY",
        dataType: "jsonp",
        transform: function (response) {
            return response;
        }
    },
    limit: 10
});

$("#city").typeahead({
    minLength: 3,
    highlight: true,
    hint: true
}, {
    name: "US-Cities",
    source: cities
});

我看到的奇怪行为是,当我开始输入 Seattle 时,当我到达“Seat”时,它只列出两个结果,“Seaton, IL”和“Seatonville, IL”。我知道 API 返回了很多结果,包括“西雅图,华盛顿州”。此外,如果您开始搜索“埃弗雷特”,所有结果都会在“埃弗雷特”处消失并保持不可见状态,直到您到达“埃弗雷特”,此时它会显示“埃弗雷特,马萨诸塞州”和“埃弗雷特,宾夕法尼亚州”,但不会显示“埃弗雷特” ,华盛顿州”。

有关选项的文档以及与版本 0.11.1 相关的文档非常糟糕 https://github.com/twitter/typeahead.js - 我真的很感激关于如何使用它而不是让它显示结果的一些见解。

最佳答案

我遇到过一些元素丢失的情况。 我所做的是将 typeahead 选项限制设置为 10。 它对我有用。

关于javascript - 来自 typeahead.js 的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29925753/

相关文章:

php - 根据所选项目更改表单操作

javascript - 如何在 Rails 6 中使用 Webpacker 加载 d3.js?

javascript - 保持 Twitter Typeahead 建议下拉菜单打开

jquery - 预输入 Bootstrap : No dropdown shows for ajax calls?

ajax - 带有 JSON REST 的 Twitter Bootstrap Typeahead

javascript - 捕获图案周围的尾随/前导空白(如果存在)?

javascript - 点击离开时如何显示

jquery - 可以合并多个输入,每个输入都使用不同来源的 typeahead.js 吗?

javascript - Typeahead.js 确实给了我建议,但没有选择它们

vue.js - 使用 Vue.js 2.0 提前输入