javascript - 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('open');
  } 
});

我还可以使用箭头到达我需要去的地方。现在我正在努力使标签部分工作。

我假设 select2-search__field 在我按下键时有焦点,那是我将事件绑定(bind)到的元素?然后大概我需要获取当前突出显示的选项的值并触发 select2 更改?

我不是 100% 确定这是正确的方法,但我不太明白。

最佳答案

要实现这一点,您可以使用 selectOnClose: true:

$(document).on('keydown', '.select2', function(e) {
  if (e.originalEvent && e.which == 40) {
    e.preventDefault();
    $(this).siblings('select').select2('open');
  }
});

$('select').select2({
  selectOnClose: true
});
select {
  min-width: 150px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/select2.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/css/select2.min.css" />
<select>
  <option>AAAAA</option>
  <option>BBBB</option>
  <option>CCCC</option>
  <option>DDDD</option>
  <option>EEEE</option>
  <option>FFFF</option>
  <option>GGGG</option>
</select>

关于javascript - jQuery Select2 - 使用选项卡选择一个选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50605279/

相关文章:

javascript - 通过 Node.js 将图像上传到 Twitter 导致 HTTP 错误 400(错误请求)

javascript - 使用其名称 react 渲染组件

javascript - 为什么我的 React 组件没有在 setState() 上重新渲染?

javascript - 禁用提交按钮

javascript - 以为我了解 Knockout.js,现在我不太确定

javascript - 我需要在移动设备中禁用菜单项

javascript - 判断元素是否存在

javascript - ("change"上的 Select2 事件返回空数据参数

javascript - jQuery.map() 解析 select2 ajax 调用的结果

javascript - 显示空选项的 select2 占位符