我有一個多選下拉元素,其中包含複選框和該javascript元素中的更改函數。但每次單擊複選框時都會觸發更改功能。我希望只有在用戶退出選擇下拉菜單或點擊「輸入」後纔會觸發更改功能,因此如果用戶選中五個框而不是運行五次(每個新框被選中後立即執行),它只會運行一次。我怎樣才能做到這一點?這裏是我當前的代碼:如何僅在所有多選選擇完成後才觸發更改事件
html元素:
<select id="vo_select_mobile_brands" multiple="multiple">
<option>Select a country</option>
</select>
的JavaScript動態添加的複選框選項:
$el = $('#vo_select_mobile_brands');
$el.empty()
$.each(_vo_mobile_brand_ids_list, function(idx, mobile_brand_id) {
$el.append($("<option></option>")
.attr("value", mobile_brand_id).text(mobile_brand_id));
});
$el.multiselect('destroy')
$el.multiselect({
includeSelectAllOption: true
});
$el.multiselect()
的JavaScript更改功能:
$('#vo_select_mobile_brands').change(function() {
_vo_selected_mobile_brands = [];
selected_objects = $("#vo_select_mobile_brands option:selected")
for(var i = 0; i < selected_objects.length; i++){
//do something with the selected items
}
});
[使用Javascript - 要使用的事件多選變更]的可能的複製(http://stackoverflow.com/questions/1816755/javascript-which-event-to-use-for-multislect-change) –