Disable dropdown opening on select2 clear

前端 未结 4 625
有刺的猬
有刺的猬 2021-02-04 01:16

Seems that select2 4 opens by default the dropdown when clearing the current selected item. Previous versions of select2 didn\'t seem to have that behaviour and I\'m trying to a

4条回答
  •  青春惊慌失措
    2021-02-04 01:41

    Can confirm, preventing events seems to not work for some reason, so you can just close the dropdown after some timeout:

    $("select").select2({
        allowClear: true
    }).on("select2:unselecting", function(e) {
        $(this).data('state', 'unselected');
    }).on("select2:open", function(e) {
        if ($(this).data('state') === 'unselected') {
            $(this).removeData('state'); 
    
            var self = $(this);
            setTimeout(function() {
                self.select2('close');
            }, 1);
        }    
    });
    

    Here's a working fiddle: http://jsfiddle.net/obq3yLf2/

提交回复
热议问题