Bloodhound - typeahead не показывает предложения, которые начинаются с введенной строки поиска

Я устранял эту проблему в течение нескольких часов безрезультатно.

По сути, в следующем коде я получаю правильные результаты от поставщика удаленных предложений,

            var descuentos = new Bloodhound({
            datumTokenizer: Bloodhound.tokenizers.nonword,
            queryTokenizer: Bloodhound.tokenizers.nonword,
            remote: {
                url: 'http://localhost:30045/Home/Suggest?q=%QUERY&type=name&fuzzy=false',
                wildcard: "%QUERY",
                filter: function (items) {
                    return $.map(items, function (item) {
                        return {
                            value: item.NombreComercio
                        };
                    });
                }
            }
        });

        $('#bloodhound .typeahead').typeahead({
            hint: true,
            highlight: true,
            minLength: 0
        },
        {
            name: 'descuentos',
            source: descuentos
        });

<body>
    <div id="bloodhound">
        <input class="typeahead" type="text" placeholder="Comercio Adherido...">
    </div>
</body>

Но когда предложение НАЧИНАЕТСЯ со строки поиска, оно не отображается... Идеи?

Спасибо!


person Ariel    schedule 30.04.2015    source источник


Ответы (1)


Добавьте displayKey к параметру наборов данных typehead.

$('#bloodhound .typeahead').typeahead({
  hint: true,
  highlight: true,
  minLength: 0
},{
  name: 'descuentos',
  displayKey: 'value',
  source: descuentos
});

Надеюсь это поможет.

person Dhiraj    schedule 30.04.2015