Bootstrap Select2 не запускает событие select при вставке, пока не наберет любое слово - PullRequest
0 голосов
/ 17 декабря 2018

Я использую bootstrap select2 v4. * На своем сайте (Yii 2.x) и столкнулся с проблемой: событие select2:select не запускается при вставке текста с помощью ctrl + v, пока я не наберу текст.После набора текста - работает нормально.Что я делаю не так?JS:

function formatResult(data) {
    var content = '<span>' + data.id + '\t' + data.text + '</span>';
    return $(content);
};

function formatSelection(data) {
    var content = '<span>' + data.id + '</span>';
    return $(content);
}

$('#wiz-asin-search').select2({        
    tags: true,
    minimumInputLength: 3,
    placeholder: 'specify asin..',
    ajax: {
        url: '/keyword-tracker/get-mwslisting-asins',
        method: 'GET',
        dataType: 'json',
        data: function (params) {
            return {
                searchAsin: params.term
            }
        },
        results: function (data) {
            return { results: data.results };
        }
    },
    templateResult: formatResult,
    templateSelection: formatSelection,
    escapeMarkup: function(m) { return m; }
}).on('select2:select', function(){
    var asin = $(this).val();
    console.log('asinSearch.change fired: ' + asin);

    validationHighLight(false);
    validateAsin(asin);
});

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Вы просто используете этот код:

$('#yourElement').select2();
0 голосов
/ 18 декабря 2018

Решение: инициализируйте select2 некоторыми данными.

$('#wiz-asin-search').select2({
    // allowClear: true,
    tags: true,
    minimumInputLength: 3,
    data: [
        {
            id: ' ',
            text: 'testAsin'
        }  
    ],
...

и будет нормально работать.

...