我有一个 native <select>
元素,我正在根据它初始化一个 select2-dropdown-menu。
我通过 select2 绑定(bind)了一个更改事件,每当 select2/select-option 更改时都会调用该事件。但是,即使再次选择了当前选定的选项,我也需要触发该事件。
function onSelectChange(){
alert('changed');
};
$("#select").select2().bind('change', onSelectChange);
我准备了一个 http://jsfiddle.net/rb6pH/1/ - 如果当前选择了“Alaska”,然后通过 select2-dropdown 再次选择,onSelectChange() 应该再次触发,触发警报。
我很难表达自己,如果有什么不够清楚,请问。
最佳答案
有人问了一个类似的问题 here 。我根据链接中的代码为您的问题制作了一个 fiddle 。
http://jsfiddle.net/rb6pH/55/
function onSelectChange(){
alert('changed');
};
var select2 = $("#select").select2().data('select2');
select2.onSelect = (function(fn) {
return function(data, options) {
var target;
if (options != null) {
target = $(options.target);
}
if (target) {
onSelectChange();
return fn.apply(this, arguments);
}
}
})(select2.onSelect);
关于javascript - 始终为 <select> 触发 "change"-event,即使单击的 select2-option 已经被选中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16486281/