javascript - Bootstrap Select2 在键入任何单词之前不会在粘贴时触发选择事件

标签 javascript jquery jquery-select2

我在我的网站 (Yii 2.x) 上使用 bootstrap select2 v4.* 并遇到了一个问题: 在我输入任何文本之前,使用 ctrl+v 进行文本粘贴时不会触发事件 select2:select 。输入后 - 它工作正常。我做错了什么? 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);
});

最佳答案

解决办法是: 使用一些数据初始化 select2

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

它会工作得很好。

关于javascript - Bootstrap Select2 在键入任何单词之前不会在粘贴时触发选择事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53816822/

相关文章:

javascript - Jquery 点击事件未在超时函数中触发

javascript - Select2 输入框中的 Select2 预加载标签

使用数据绑定(bind)的 javascript 模板

javascript - 带有下拉菜单和按钮的 Flexbox 布局

javascript - 在事件中更改事件时如何停止传播?

php - yii2 多重过滤器进入搜索模型

jquery-select2 - jquery Select2 Ajax - 如何设置值 (initSelection)

javascript - "data-dismiss"Bootstrap modal Bugando 位置 = "absolute"

jquery - 尝试获取父元素的href属性值

javascript - Jquery onclick图像id形成输入字段