我有一个 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/

10-13 04:17