Javascript jQuery Select2-使用tab选择一个选项

Javascript jQuery Select2-使用tab选择一个选项,javascript,jquery,jquery-select2,Javascript,Jquery,Jquery Select2,我希望能够使用箭头键进入我想要的select2选项,然后按tab键选择该选项,然后按tab键进入下一个元素 我已经获得了向下箭头以打开select2,其中包含以下内容: $(document).on('keydown', '.select2', function(e) { if (e.originalEvent && e.which == 40) { e.preventDefault(); $(this).siblings('select').select2(

我希望能够使用箭头键进入我想要的select2选项,然后按tab键选择该选项,然后按tab键进入下一个元素

我已经获得了向下箭头以打开select2,其中包含以下内容:

$(document).on('keydown', '.select2', function(e) {
  if (e.originalEvent && e.which == 40) {
    e.preventDefault();
    $(this).siblings('select').select2('open');
  } 
});
我也可以使用箭头来到达我需要去的地方。现在我正在努力使选项卡部分正常工作

我假设,因为我按下键时select2-search\u字段有焦点,所以这就是我将事件绑定到的元素?然后我大概需要获取当前突出显示选项的值并触发select2更改


我不是100%确定这是正确的方法,但我不太清楚。要实现这一点,您可以使用selectOnClose:true:

$document.on'keydown','select2',function e{ 如果e.originalEvent&&e.which==40{ e、 防止违约; $this.slice'select'。select2'open'; } }; $“选择”。选择2{ selectOnClose:true }; 挑选{ 最小宽度:150px; } AAAA BBBB 中交 DDDD EEEE FFFF GGGG
要实现这一点,您可以使用selectOnClose:true:

$document.on'keydown','select2',function e{ 如果e.originalEvent&&e.which==40{ e、 防止违约; $this.slice'select'。select2'open'; } }; $“选择”。选择2{ selectOnClose:true }; 挑选{ 最小宽度:150px; } AAAA BBBB 中交 DDDD EEEE FFFF GGGG
只需在代码中添加以下行

$(document).on("select2:close", '.select2-hidden-accessible', function () { $(this).focus(); });

你的问题会解决的

只需在代码中添加以下行即可

$(document).on("select2:close", '.select2-hidden-accessible', function () { $(this).focus(); });

你的问题会解决的

您能否通过添加一个片段为我们提供一个工作示例您能否通过添加一个片段为我们提供一个工作示例啊,这太好了,谢谢。我想我把事情搞得太复杂了!唯一不能处理的事情是恢复默认行为,即切换到页面上的下一个元素。有没有同样简单的方法来实现这一点,或者需要手动完成?可以,但我不需要选择关闭。我可以,但在关闭时它会选择最新突出显示的选项,这不是所需的行为,我只需要在enter/tab键上选择所选选项。啊,这很好,谢谢。我想我把事情搞得太复杂了!唯一不能处理的事情是恢复默认行为,即切换到页面上的下一个元素。是否有一种同样简单的方法来实现这一点,或者需要手动完成?工作,但我不需要选择关闭。我工作,但在关闭时它会选择最新突出显示的选项,这不是所需的行为,我只需要在按enter/tab键时选择所选选项。