我正在使用select2来呈现可编辑的选择框。当用户输入一个在list(select2, data)
中不存在的语句时,我会显示一个按钮以添加此语句到列表中。
强制用户点击按钮似乎有点令人沮丧。 是否可以在 select2 中捕获回车键? 我想让用户只需按下回车键即可将他/她的新语句添加到列表中。
我正在使用select2来呈现可编辑的选择框。当用户输入一个在list(select2, data)
中不存在的语句时,我会显示一个按钮以添加此语句到列表中。
强制用户点击按钮似乎有点令人沮丧。 是否可以在 select2 中捕获回车键? 我想让用户只需按下回车键即可将他/她的新语句添加到列表中。
$('select2-search-field > input.select2-input').on('keyup', function(e) {
if(e.keyCode === 13)
addToList($(this).val());
});
我正在使用 Select2 4.0.3
,这对我起作用:
$(document).on('keyup', '.select2-search__field', function (e) {
if (e.which === 13) {
alert('Pressed enter!');
}
});
我正在使用Select2 4.0版本。这对我来说很有效。
$('.select2-search__field').on('keyup', function (e) {
if (e.keyCode === 13)
{
alert('Enter key');
}
});
$('.select2-search__field').val('new_value').trigger('input');
- Lorenzo Magon这些方法在Select2 4.0.6-rc1
中都不可用,但是以下方法可以:
$('#mySelect2').on('select2:select', function (e) {
var data = e.params.data;
console.log(data);
});
这个内容在手册中有详细说明,点击此处查看。
$('.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")
}
})
$('#mySelect2').on('select2-selected', function (e) {
console.log(e.params);
// keypress enter script
});
这对我帮助很大。 如果页面上有两个select2,那么这是一个很好的选择!
addToList($(this).val());
。我认为select2 4.0可能会解决这个问题(与更好的选择器一起),但我仍然被困在3.5中,试图解决Bootstrap的变化。 - radiok