Я использую Плагин Bootstrap Select .
<div class="form-group col-md-6">
<select class="selectpicker form-control" id="veicoli" data-style="btn-transparent" data-title="Veicoli" data-selected-text-format="static" data-live-search="true" multiple>
<option value="1">EA018YE</option>
<option value="11">FM088KP</option>
<option value="17">DT590LW</option>
<option value="21">DB814RZ</option>
<option value="33">DM408DG</option>
<option value="40">EH942GJ</option>
</select>
</div>
Я выбираю параметры программно, используя:
$(document).ready(function() {
$('#veicoli').selectpicker('val', data);
$('#veicoli').selectpicker('refresh');
}
, где data
- массив:
["11", "33"]
Приведенный выше код правильно выбирает параметры при начальной загрузке, но сработало событие changed.bs.select
, которое я определил следующим образом:
$(document).on('changed.bs.select', '#modale-dettagli #veicoli', function(e, clickedIndex, isSelected, previousValue) {
console.log('e: ' + e);
console.log('clickedIndex: ' + clickedIndex);
console.log('isSelected: ' + isSelected);
console.log('previousValue: ' + previousValue);
}
не работает должным образом, посколькуclickedIndex
is undefined
Это результат указанного выше события:
e: [object Object]
clickedIndex: undefined
isSelected: undefined
previousValue: undefined
Обратите внимание, что при нажатии одинаковых опций (с помощью мыши) одно и то же событие работает правильно
РЕДАКТИРОВАТЬ: Просто чтобы вы поняли, проблема, с которой я столкнулся сейчас, заключалась в ошибке в более ранней версии Метод val () не запускает change.bs.select
РЕДАКТИРОВАТЬ 2: Я обнаружил, что могу получить индекс выбранной опции с помощью this.selectedIndex
(вместо использования параметра функции clickedIndex
) и с некоторым "кодом"трюк "работа может быть выполнена