Bootstrap Selectpicker不会使用内置功能重置

爱德华

我有一个Bootstrap Selectpickers数组,用于过滤数据库中的结果。我需要一种将所有选择器重置为“无选择”的方法,这是我的代码:

的HTML

<div class="row">
    <div class="col-md-3">
        <label>By Group</label>
        <select id="groups" name="group" class="form-control selectpicker" multiple></select>
    </div>
    <div class="col-md-3">
        etc...
    </div>
</div>

JS

ajax_fetch('build_group_options', {groupno:groupno}).done(function(html) {
    //var html is a list of options in html format
    $('#groups').html(html).find('option[value=""]').remove();
    //refresh the selectpicker to make sure options are registered in the picker
    $('.selectpicker').selectpicker('refresh');
});

尝试重置所有选择器:

$('#reset_filters').click(function() {
    $('.selectpicker').selectpicker('deselectAll');
    $('.selectpicker').selectpicker('render');
    $('.selectpicker').selectpicker('refresh');
    $(this).closest('form').find('.selectpicker').each(function() {
        $(this).selectpicker('render');
    });
});

如您所见,我已经尝试过重置所有功能,但都无济于事,因此很明显在逻辑上做错了一些。

爱德华

因此,我查看了selectpicker.js文件,deselectAllselectAll函数都通过一些参数过滤了各自的选项(请参见第884行):

deselectAll: function () {
  this.findLis();
  this.$lis.not('.divider').not('.disabled').filter('.selected').filter(':visible').find('a').click();
}

一点故障:

.not('.divider') //prevents the divider receiving a click event! 
.not('.disabled') //ignore any disabled elements
.filter('.selected') / .not('.selected') //depending if its selectAll() or deselectAll()
.filter(':visible') //prevent any non-visible element receiving a click event!?

我的问题是.filter(':visible'),在触发click事件时,该列表不可见,因此这些选项被过滤掉了,因此没有被“单击” /“取消选择”。我修改了插件的版本,现在我的“重置”按钮可以正常工作了。新行是:

this.$lis.not('.divider').not('.disabled').filter('.selected').find('a').click();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Bootstrap表单不会使用图片按钮提交

来自分类Dev

使用bootstrap selectpicker的Knockout.JS

来自分类Dev

使用jQuery在Bootstrap的SelectPicker中搜索文本

来自分类Dev

Bootstrap Selectpicker问题

来自分类Dev

模态的Bootstrap验证程序不会重置Form

来自分类Dev

Bootstrap selectpicker“数据子文本”不会更新实时更改

来自分类Dev

使用内置样式的Bootstrap 3表单验证

来自分类Dev

JQuery Bootstrap selectpicker show optgroup

来自分类Dev

在Bootstrap selectpicker上使用jQuery取消选择选项

来自分类Dev

一次打开后,Bootstrap Modal不会重置

来自分类Dev

Bootstrap Jumbotron不会变大

来自分类Dev

Bootstrap模式不会显示

来自分类Dev

Bootstrap 表单不会折叠

来自分类Dev

Javascript与Bootstrap功能冲突

来自分类Dev

Javascript与Bootstrap功能冲突

来自分类Dev

Bootstrap Popover功能

来自分类Dev

Bootstrap Datepicker所选日期重置

来自分类Dev

使用React-Bootstrap而不是Bootstrap的优点

来自分类Dev

使用Bootstrap 4的Bootstrap选择jQuery插件

来自分类Dev

使用bootstrap进行bootstrap分页折叠

来自分类Dev

使用Bootstrap的面板删除Bootstrap表的边框

来自分类Dev

如何从Bootstrap多个selectpicker获取选定的值?

来自分类Dev

从Bootstrap 3 selectpicker获取选定的值

来自分类Dev

Bootstrap Selectpicker无法在Blogger上运行

来自分类Dev

淘汰赛3.4选择bootstrap selectpicker

来自分类Dev

使用Bootstrap Select禁用下拉功能

来自分类Dev

使用Bootstrap Glyphicons创建Checkbox功能

来自分类Dev

使用Bootstrap Modal表单添加功能无效

来自分类Dev

Bootstrap:如何使用navbar?