【问题标题】:How to focus bootstrap select picker如何聚焦引导选择选择器
【发布时间】:2020-02-19 09:46:13
【问题描述】:

我使用 data-live-search 作为可搜索选项。当我单击焦点按钮时,它应该再次聚焦选择。我使用了以下代码

$("#focus").click(function() {
  $(".selectpicker").focus();
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.1/css/bootstrap-select.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.1/js/bootstrap-select.js"></script>

<select data-live-search="true" data-live-search-style="startsWith" class="selectpicker">
  <option value="4444">4444</option>
  <option value="Fedex">Fedex</option>
  <option value="Elite">Elite</option>
  <option value="Interp">Interp</option>
  <option value="Test">Test</option>
</select>
<button id="focus">focus</button>

每当我按下回车键时,t 都是选择框的焦点,但不显示搜索选项。我已附上screenshot 请给我建议,让我在输入时显示带有搜索选项的正确选项

【问题讨论】:

    标签: javascript jquery bootstrap-selectpicker


    【解决方案1】:

    focus() 不起作用,因为它转向了自定义的select 而不是原生选择选项,顺便说一句,selectpicker 插件中有一个原生方式可以做到这一点,一个名为 toggle 的事件

    $("#focus").click(function() {
      // toggle
      $('.selectpicker').selectpicker('toggle');
    
      // select by value
      $('.selectpicker').selectpicker('val', 'Test');
      $('.remove-example').selectpicker('refresh');
    
      // change highlight
      $('.dropdown-menu li').removeClass('active')
    });
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.1/css/bootstrap-select.css" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.12.1/js/bootstrap-select.js"></script>
    
    <select data-live-search="true" data-live-search-style="startsWith" class="selectpicker">
      <option value="4444">4444</option>
      <option value="Fedex">Fedex</option>
      <option value="Elite">Elite</option>
      <option value="Interp">Interp</option>
      <option value="Test">Test</option>
    </select>
    <button id="focus">focus</button>

    【讨论】:

    • 但默认情况下它是高亮默认选定值假设我想高亮显示 4444。它如何突出显示这一点。我用过 $('.selectpicker').val("4444"); $('.selectpicker').trigger("change");仍然是默认值突出显示
    • @VaishnaviDeshpande 忘记 jQJS 方法来执行此操作,例如 trigger change 或等等。它是一个插件,它有自己的方法做某事,就像我使用的 @987654331 @,让我检查一下我会更新我的答案,但请注意,这是新问题
    • 感谢您的时间,并为我尝试您的代码时的冷漠感到抱歉,但它可以工作,但我没有为小问题写下所有问题,而是对问题发表评论
    猜你喜欢
    • 2016-07-18
    • 2015-03-26
    • 2013-06-22
    • 2018-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-01
    相关资源
    最近更新 更多