如何按顺序添加选定的值 multi select2

问题描述

如果你想按顺序显示你的select2选择的值是哪个序列选择,并且下拉直到你点击外面才关闭

[![像这样显示][1]][1] [1]:https://i.stack.imgur.com/hZvVS.png

 $("select").select2({
  tags: true
});

$("select").on("select2:select",function (evt) {
  var element = evt.params.data.element;
  var $element = $(element);
  
  $element.detach();
  $(this).append($element);
  $(this).trigger("change");
});
<select style="width: 500px;" multiple="multiple">
    <option>two</option>
    <option>four</option>
    <option>six</option>
  </select>

解决方法

$("select").select2({
  tags: true
});

$("select").on("select2:select",function (evt) {
  var element = evt.params.data.element;
  var $element = $(element);
  
  $element.detach();
  $(this).append($element);
  $(this).trigger("change");
});
//drop down always visibile until you click outside
var thing = $("select").select2({
  closeOnSelect: false
}).on("change",function(e){
  // thing.select2("close");
  // try this line if your code not working
  // thing.select2("open");
});
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0-rc.1/css/select2.min.css" />
  
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.0-rc.1/js/select2.min.js"></script>
</head>
<body>
  <select style="width: 500px;" multiple="multiple">
    <option>two</option>
    <option>four</option>
    <option>six</option>
    <option>Seven</option>
    <option>Eight</option>
    <option>Nine</option>
  </select>
</body>
</html>