Typeahead не работает для кириллицы

Я использую Typeahead версии 0.10.5. Это работает для английских слов, но не для каждого слова, написанного киррилицей. Некоторые слова, написанные кириллицей, отображаются, а другие нет. Чем это вызвано?

Я использую это так:

$('#edicode').typeahead({
            source: function(query, process){
                 CallAPI("GET", "/companies/get/" + query + "/like", function (data) {
                   
                    var sourcedata = new Array();
                    var jsonData = JSON.parse(data);

                    var count = 0;
                    $.each(jsonData, function(jsonId) {
                       
                            sourcedata.push(jsonData[jsonId].CODE +  ' / ' + jsonData[jsonId].NAME);
                            selectedItems[jsonData[jsonId].CODE] = JSON.stringify(jsonData[jsonId]);
                            count++;
                    });
                    if(count <= 0)
                    {
                        $('#company_name').val('');
                        $('#company_name').prop('readonly', false);
                    }
					console.log(sourcedata);
                    return process(sourcedata);
                });
            },
            updater: function (item) {
                var info = item.split(" / ");
                var company = jQuery.parseJSON(selectedItems[info[0]]);
                
                $('#EDICode').val(company.CODE);
                
                return  company.CODE +  '/ ' + company.NAME ;
            },
            name: 'Company',
            displayKey: 'value',
			minLength: 2,
			maxItem: 15,
			accent: true,
			hint: true
        }).blur(function(){

        });


person ci_lover    schedule 10.09.2015    source источник


Ответы (1)


Потребовалось 1 час, чтобы найти: открыть bootstrap-typeahead.js (не минифицированный) найти:

    matcher: function (item) {
    return ~item.toLowerCase().indexOf(this.query.toLowerCase());
    },

изменить на:

    matcher: function (item) {

    var x=item.toLowerCase().indexOf(this.query.toLowerCase());;
    if(x==-1)
        x=0;
    return ~x
    },
person Vidmantas Norkus    schedule 14.11.2018