似乎重置按钮不会触发任何特殊事件。 不应该有onReset
事件处理程序或至少onDeselectAll
触发吗?
你好
你找到解决办法了吗?
是的,但它并不漂亮( JSFiddle ):
function changeHandler($select) {
var $selected_options = $select.find('option:selected')
// and so on
}
$('select').multiselect(
{
includeResetOption: true,
onChange: function () {
changeHandler(this.$select)
}
}
)
$('.multiselect-reset')
.on(
'click',
function () {
changeHandler(
$(this).closest('.multiselect-native-select').find('select')
);
}
);
非常感谢
$('.multiselect-reset').on('click', function () {
alert('reset');
});
祝你今天过得愉快。
Christophe(来自法国)
如果事件不止一个,如何将事件挂钩到特定的多选下拉列表?
我尝试使用 id 和类名,但它不起作用。
用于每个多选的触发事件
添加
function Multiselect(select, options) {
...
this.options.onReset = $.proxy(this.options.onReset, this);
...
}
````
Multiselect.prototype = {
默认值:{
...
/**
* Triggered on Reset.
*/
onReset: function() {
},
....
}
}
````
buildReset: function() {
...
$('a', $resetButton).click($.proxy(function(){
this.clearSelection();
this.options.onReset();
}, this));
...
}
在您的多选实例中:
$('#mySelect').multiselect({
....
onReset: function() {
console.log('onReset clicked!');
}
...
})
嘿@denniscastro非常感谢您的解决方案。 与多个下拉菜单完美配合。
用于每个多选的触发事件
添加function Multiselect(select, options) { ... this.options.onReset = $.proxy(this.options.onReset, this); ... }
``
Multiselect.prototype = {
默认值:{
...
/**
* 复位时触发。
*/
复位:函数(){
},
....
}
}
构建重置:函数(){
...
$('a', $resetButton).click($.proxy(function(){
this.clearSelection();
this.options.onReset();
}, 这个));
...
}And in your multi-select instance:
$('#mySelect').multiselect({
....
复位:函数(){
console.log('onReset clicked!');
}
...
})
``
感谢您的解决方案,但我不知道如何实现它......或所有这些部分的去向。 代码中的“....”是什么?
下面是我拥有的多选下拉菜单的所有代码,这是您示例的最后一部分。 我不知道把其他部分放在哪里。 提前致谢。
$('#kwh,#year').multiselect({
includeResetOption: true,
onDropdownHide: function(option, checked, select) {
<do stuff>
}
},
onChange: function(option, checked, select) {
<do stuff>
}
});
@HankLloydRight
您必须修改 bootstrap-multiselect.js 本身。
然后你在你的 html 页面上引用那个。
最有用的评论
用于每个多选的触发事件
添加
function Multiselect(select, options) { ... this.options.onReset = $.proxy(this.options.onReset, this); ... }
````
Multiselect.prototype = {
默认值:{
...
}
}
````
buildReset: function() { ... $('a', $resetButton).click($.proxy(function(){ this.clearSelection(); this.options.onReset(); }, this)); ... }
在您的多选实例中:
$('#mySelect').multiselect({ .... onReset: function() { console.log('onReset clicked!'); } ... })