我需要捕捉這兩個事件:jquery select2多選:如何檢查選項是否被選中?
- 第一個選項被選中
- 所有選項都取消
理由是 - 我想禁用另一個下拉列表(負責內容我的多重選擇)當選擇第一個選項或取消選擇所有先前選擇。
更新:
$('.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');
}
}
});
}
這是我的ajax的一部分。當我從下拉列表中選擇'.projectSelector'時,我更新了我的多重選擇'.participantSelector'。
到目前爲止工作正常!
我想要的不是捕獲'.participantSelector'中的第一個選項以禁用'.projectSelector'。另一方面,如果在'.participantSelector'中沒有選擇任何內容,則將'.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
});
但這火選擇在下拉 - 但不是一個選擇形成我多選。
順便說一下,我在多選得到選擇顯示此錯誤:
TypeError: b.dataAdapter is null
你能分享一些HTML?我們將更容易以這種方式爲您提供幫助 –