我有一个多选下拉元素,其中包含复选框和该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) –