处理select2:在活动选项

时间:2016-01-29 11:26:14

标签: javascript jquery jquery-select2-4

我使用的是Select2 4.0并希望能够在用户点击当前选中的选项时进行处理,但是Select2似乎没有公开select2:selectingselect2:select个事件关于这个选项。

在下面的代码段中,我添加了select2:openselect2:selectingselect2:closeselect2:select事件的日志记录:



$(function() {
  $('select').select2({ placeholder: '' });
  
  $('select').on('select2:open', function(elem) {
    $('<li>').text('Open').appendTo('ol');
  });
  
  $('select').on('select2:selecting', function(elem) {
    $('<li>').text('Selecting...').appendTo('ol');
  });
  
  $('select').on('select2:close', function(elem) {
    $('<li>').text('Close').appendTo('ol');
  });
  
  $('select').on('select2:select', function(elem) {
    $('<li>').text('Selected "' + elem.target.value + '"').appendTo('ol');
  });
});
&#13;
select {
  width: 256px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/js/select2.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.1/css/select2.min.css">

<select>
  <option></option>
  <option value="Foo">Foo</option>
  <option value="Bar">Bar</option>
</select>

<ol></ol>
&#13;
&#13;
&#13;

如果我们选择&#34; Foo&#34;,然后选择&#34; Bar&#34;,然后选择&#34; Bar&#34;再次,我们将获得以下输出:

Example

选择&#34; Bar&#34;第二次(虽然它已被选中),select2:selectingselect2:select事件未公开。否则这些事件将落在第10和第12位,将select2:close事件移至第11位。

我对select2:selecting不感兴趣,但有什么方法可以在用户点击已经选出的选项时触发select2:select事件?

0 个答案:

没有答案