【问题标题】:Jquery Typeahead Bloodhound is not working properlyJquery Typeahead Bloodhound 无法正常工作
【发布时间】:2017-03-18 09:49:49
【问题描述】:

我想使用 javascript typeahead Bloodhound,但它不能与遥控器一起正常工作。

这是我的 Javascript 代码:

<script type="text/javascript">
    jQuery(document).ready(function($) {
        var clubs = new Bloodhound({
        datumTokenizer: function () {
            return Bloodhound.tokenizers.obj.whitespace;
        },
        queryTokenizer: function () {
            return Bloodhound.tokenizers.whitespace;
        },

        remote: {
            url: "{{ url('club/listall') }}"+'/%QUERY%',
            filter: function(searchClubs) {
                console.log(searchClubs);
                return searchClubs;
            },
            wildcard: "%QUERY%"
        },
    });

        $(".club-search").typeahead({
            hint: true,
            highlight: true,
            minLength: 1
        }, {
            source: clubs.ttAdapter(),
            name: 'clubsList',
            templates: {
                empty: [
                    '<div class="list-group search-results-dropdown"><div class="list-group-item">Aucun club trouvé.</div></div>'
                ],
                header: [
                    '<div class="list-group search-results-dropdown">'
                ],
                suggestion: function (data) {
                    return '<a href="{{ url('club') }}' + '/' + data.id + '" class="list-group-item"><span class="row">' +
                                '<span class="avatar">' +
                                    '<img src="{{asset('/')}}' + blason + '">' +
                                "</span>" +
                                '<span class="name">' + data.name + '<br><small style="color:grey;">(Ligue ' + data.league_name + ')</small></span>' +
                            "</span>"
          }
            }
        });
    });
</script>

但它不能完全正常工作......一般来说,它会找到结果,但我会给你一个搜索查询的例子。一种可能的查询是“montagnarde”。我会给你每封信的结果。打字:

m --> lot of results
mo --> lot of results
mon --> lot of results
mont --> lot of results
monta --> lot of results
montag --> lot of results
montagn --> lot of results
montagna --> no result
montagnar --> finds only "J.S. MONTAGNARDE"
montagnard --> finds only "J.S. MONTAGNARDE"
montagnarde --> finds only "J.S. MONTAGNARDE" and "LA MONTAGNARDE"
montagnarde i --> finds only "U.S. MONTAGNARDE INZINZAC"

console.log(searchClubs) 给了我不同的结果。

有人知道问题出在哪里吗?提前谢谢!

【问题讨论】:

    标签: javascript jquery typeahead bloodhound


    【解决方案1】:

    我找到了解决办法。

    我使用的是 twitter/typeahead.js 版本 0.11.1,不幸的是这个版本不再维护。

    我们必须使用:corejavascript/typeahead.js 版本 1.1.1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-06
      • 1970-01-01
      • 2015-11-13
      • 2011-07-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多