【问题标题】:closeOnSelect: false not working in Select2 when using dropdownAdaptercloseOnSelect: false 在使用 dropdownAdapter 时在 Select2 中不起作用
【发布时间】:2020-01-16 11:37:28
【问题描述】:

当您在下拉列表中选择特定项目时,自定义选择会被隐藏。为什么?在我的选项中,我有closeOnSelect: false;

警告!我使用$.fn.select2.amd.require。 'select2/dropdown/closeOnSelect' 无法删除。

$(function() {
  $.fn.select2.amd.require([
      "select2/utils",
      "select2/dropdown",
      "select2/dropdown/attachContainer",
      'select2/dropdown/closeOnSelect'
  ], function (Utils, DropdownAdapter, AttachContainer, closeOnSelect) {
      $('select').select2({
          dropdownAdapter: Utils.Decorate(Utils.Decorate(DropdownAdapter, AttachContainer), closeOnSelect),
          closeOnSelect: false
      });
  });
});
<link href="https://cdn.jsdelivr.net/npm/select2@4.0.12/dist/css/select2.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.12/js/select2.full.js"></script>
<div class="select i-select">
  <select name="" id="">
    <option value="1">White</option>
    <option value="2">Gray light</option>
    <option value="3">Gray</option>
    <option value="4">Black</option>
  </select>
</div>

【问题讨论】:

  • 阅读文档:Note that this option is only applicable to multi-select controls.select2.org/…
  • 不,它适用于单选也检查我的答案

标签: javascript jquery jquery-select2


【解决方案1】:

您可以在使用以下代码之前将closeOnSelect 设置为false

closeOnSelect= function(){return false;};

$(function() {
  $.fn.select2.amd.require([
      "select2/utils",
      "select2/dropdown",
      "select2/dropdown/attachContainer",
      'select2/dropdown/closeOnSelect'
  ], function (Utils, DropdownAdapter, AttachContainer, closeOnSelect) {
  
      closeOnSelect= function(){return false;};
      
      $('select').select2({
          dropdownAdapter: Utils.Decorate(Utils.Decorate(DropdownAdapter, AttachContainer), closeOnSelect)
      });
  });
});
<link href="https://cdn.jsdelivr.net/npm/select2@4.0.12/dist/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.12/js/select2.full.js"></script>
<div class="select i-select">
  <select name="" id="">
    <option value="1">White</option>
    <option value="2">Gray light</option>
    <option value="3">Gray</option>
    <option value="4">Black</option>
  </select>
</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-11
    • 2014-05-27
    • 2017-08-22
    • 1970-01-01
    相关资源
    最近更新 更多