bootstrap multiselect(刷新)无法正常工作

use*_*779 9 jquery twitter-bootstrap bootstrap-multiselect

我正在使用bootstrap multiselect列表框.当用户在多选中选择选项时,它会正确显示.但是可以选择重置以前选择的选项.当用户单击重置按钮时,会自动style=display:none添加到下拉按钮,下拉列表将变为不可见.

这是我的代码

$("#button").click(function () {

    $('option', $('.multiselect')).each(function (element) {
        $(this).removeAttr('selected').prop('selected', false);

    });
    $('.multiselect').multiselect('refresh');
});
Run Code Online (Sandbox Code Playgroud)

278*_*184 47

其他有用的选项是:

  1. $('Id').multiselect('refresh'); - 根据所选的选项刷新多选.

  2. $('Id').multiselect('destroy'); - 解除整个插件的绑定.

  3. buildFilter :构建过滤器.

  4. buildSelectAll :构建selct all.如果已经创建了select all,则检查.

  5. $('Id').multiselect('select', ['1', '2', '4']); - 选择给定值的所有选项.

  6. clearSelection :清除所有选定的项目.

  7. $('Id').multiselect('deselect', ['1', '2', '4']); - 取消选择给定值的所有选项.

  8. $('Id').multiselect('selectAll', true); - 选择所有已启用和可见的选项.

  9. $('Id').multiselect('deselectAll', true); - 取消选择所有选项.

  10. $('Id').multiselect('rebuild'); - 重建插件.

  11. $('Id').multiselect('enable'); - 启用多选.

  12. $('Id').multiselect('disable'); - 禁用多选.

  13. hasSelectAll :检查是否存在全选复选框.

  14. updateSelectAll :根据当前显示和选中的复选框更新全选复选框.

  15. $('Id').multiselect('updateButtonText'); - 根据当前选择的选项更新按钮文本及其标题.

  16. getSelected() :获取所有选定的选项.

  17. getOptionByValue() :通过其值获取选择选项.

  18. $('Id').multiselect('dataprovider', options); - 提供的数据将用于构建下拉列表.

有关更多详细信息,请访问bootstrap-multiselect


Thy*_*lle 6

如果您只是像这样定位类,则Bootstrap Multiselect会失败.

$(".multiselect").multiselect("refresh");
Run Code Online (Sandbox Code Playgroud)

发生这种情况是因为插件中还有其他内容具有"multiselect"类.你必须让它知道,它只是你想要的目标选择.

以下对我有用.

$("select.multiselect").multiselect("refresh");
Run Code Online (Sandbox Code Playgroud)

"取消选择"方法的计数相同.

$("select.multiselect").multiselect("deselectAll", false);
Run Code Online (Sandbox Code Playgroud)


小智 5

我的方法是销毁多选,然后重新初始化它。那对我有用。试一试:

    function initMultiSelect(){

      $('#yourMultiselectId').multiselect({
        includeSelectAllOption: true,
        selectAllValue: 'select-all-value'
      });
    }


    $('#button').click(function(e){
        e.preventDefault();
        $('#yourMultiselectId').multiselect('destroy');
        initMultiSelect();
    });
Run Code Online (Sandbox Code Playgroud)