在select2中捕获enter键

时间:2013-12-26 08:29:24

标签: javascript jquery twitter-bootstrap jquery-select2

我正在使用select2来展示可编辑的选择框。当用户编写一个未出现在list(select2, data)中的语句时,我会显示一个按钮,将此语句添加到列表中。

强迫用户点击按钮在我看来有点沮丧。是否可以在select2中捕获回车键?我想让用户只需按回车键即可将他/她的新陈述添加到列表中。

5 个答案:

答案 0 :(得分:13)

$('select2-search-field > input.select2-input').on('keyup', function(e) {
   if(e.keyCode === 13) 
      addToList($(this).val());
});

答案 1 :(得分:3)

我正在使用Select2 4.0。这对我有用;

$('.select2-search__field').on('keyup', function (e) {
        if (e.keyCode === 13)
        {
            alert('Enter key');
        }
    });

答案 2 :(得分:0)

此代码可以帮助您进行基于类的选择:

$('.select2-selection').on('keyup', function(e) {
    var YOUR_SELECT2_CUSTOM_CLASS = $(this).attr('aria-labelledby').includes('YOUR_SELECT2_CUSTOM_CLASS')
    if (YOUR_SELECT2_CUSTOM_CLASS && e.keyCode === 13) {
        alert($(".YOUR_SELECT2_CUSTOM_CLASS").val())
    }
});

或者你可以使用它:

$("YOUR_CUSTOM_CLASS").bind("change keypress", function() {
  if (window.event.keyCode === 13) {
    alert("Enter Captured")
  }
})

答案 3 :(得分:0)

我正在使用find . -regex ".*/\(\(.*[a-z]+.*[A-Z]+\)\|\(.*[A-Z]+.*[a-z]+\)\).*" ,这对我有用:

Select2 4.0.3

答案 4 :(得分:0)

这些都不适用于Select2 4.0.6-rc1,但确实如此:

$('#mySelect2').on('select2:select', function (e) {
    var data = e.params.data;
    console.log(data);
});

手册here中有详细说明。