мне нужно поймать эти 2 события:jquery select2 multiselect: Как проверить, выбраны ли опции?
- первый вариант выбран
- все опции снят
Причина в том, - что я хочу, чтобы отключить другой выпадающий список (который отвечает за содержание моего мультиселектора), когда выбран первый параметр или все предыдущие выбраны.
Update:
$('.projectSelector').on('change', function() {
var targetProject_id = $('#project-id :selected').val();
updateParticpantDropdown(targetProject_id);
});
function updateParticpantDropdown(selectedProjectId){
$.ajax({
type: "POST",
url: '/xx/projects/xx/'+ selectedProjectId,
dataType : "json",
success: function (response, status) {
if(status === "success") {
//console.log('success post');
if(response.result == "error") {
alert(response.message);
}else if (response.result == "success"){
var data = response.data;
$(".participantSelector").empty().select2({
placeholder: "Click here to select participants for above selected project",
allowClear: false,
data: data
});
}
} else if(status === "error") {
// Ajax Post call failed
console.log('fatal ajax post call failed');
}
}
});
}
Это моя Аякса часть. Когда я выбираю из раскрывающегося списка «.projectSelector», я обновляю свой мультиселектор .participantSelector '.
Прекрасно работает!
То, что я хочу нет, состоит в том, чтобы поймать первый выбор в '.participantSelector', чтобы отключить '.projectSelector'. И наоборот, если ничего не выбрано в '.participantSelector' set '.projectSelector' активно.
Мой HTML выглядит следующим образом:
<select name="participant_id[]" multiple="multiple" class="form-control select2me participantSelector" required="required" id="participant-id"><option value=""></option></select>
Из документов я попытался это:
$('select').on('select2:select', function (evt) {
// Do something
});
Но это делает огонь по выбору в раскрывающемся списке - но не с выбором образуют мой MULTISELECT.
Btw, я получаю от выбора в моем множественный этой ошибки:
TypeError: b.dataAdapter is null
Можете ли вы поделиться некоторыми HTML? Нам будет легче помочь вам таким образом –