Как вызвать событие onclick на select2 - PullRequest
0 голосов
/ 21 сентября 2018

Я пытаюсь привязать щелчок, чтобы выбрать элемент ввода с инициализацией select2.

Я хочу привязать обработчик, когда раскрывающийся список щелкается или фокусируется.

<select class="form-control" id="type" name="type" required="required">
    <option value="breakfast" <?= ($type == 'breakfast')? 'selected' : '';?>>Breakfast</option>
    <option value="snacks" <?= ($type == 'snacks')? 'selected' : '';?>>Snacks</option>
</select>

Вотjs part:

$('#type').select2({}).on("select2-selecting", function(e) {
    console.log('not working');
});

Я также пытался "select2-open/opening", но безрезультатно.Как заставить работать привязку события?

Ответы [ 2 ]

0 голосов
/ 21 августа 2019

Для версии 4.0 + вы можете использовать ниже.

$('#yourselect').on("select2:select", function(e) { 
   // what you would like to happen
});
0 голосов
/ 21 сентября 2018

В используемой версии 3.5.1 вы должны использовать select2-selecting вместо select2:selecting, например:

$('#type').select2({}).on("select2-selecting", function(e) {
    console.log('not working');
});

$('#type').select2({});

$('#type').on("select2-opening", function(e) {
  console.log('Opening');
});
$('#type').on("select2-selecting", function(e) {
  console.log('Selecting');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.1/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/3.5.1/select2.min.js"></script>
<select style="width:300px" id="type">
  <option value="CA">California</option>
  <option value="NV">Nevada</option>
  <option value="OR">Oregon</option>
  <option value="WA">Washington</option>
</select>
...