12

我正在使用引导多选列表框。当用户在多选上选择选项时,它会正确显示。但是有一个选项可以重置以前选择的选项。当用户单击重置按钮时,会自动style=display:none添加到下拉按钮,并且下拉列表变得不可见。

这是我的代码

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

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

    });
    $('.multiselect').multiselect('refresh');
});
4

6 回答 6

55

其他有用的选项是:

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

  2. $('Id').multiselect('destroy');- 取消绑定整个插件。

  3. buildFilter:构建过滤器。

  4. buildSelectAll :构建全选。检查是否已创建全选。

  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

于 2015-07-24T09:37:03.917 回答
6

如果您只是以这样的类为目标,则 Bootstrap Multiselect 会失败。

$(".multiselect").multiselect("refresh");

发生这种情况是因为插件中有其他东西具有“多选”类。你必须让它知道,它只是你想要定位的选择。

以下对我有用。

$("select.multiselect").multiselect("refresh");

“取消选择”方法也同样重要。

$("select.multiselect").multiselect("deselectAll", false);
于 2015-03-27T11:16:20.277 回答
5

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

    function initMultiSelect(){

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


    $('#button').click(function(e){
        e.preventDefault();
        $('#yourMultiselectId').multiselect('destroy');
        initMultiSelect();
    });
于 2016-08-01T16:25:46.157 回答
2

看看这个文档:http ://davidstutz.github.io/bootstrap-multiselect/

要取消选择一个选项,请使用此

$('.multiselect').multiselect('deselect', value)

然后调用刷新方法

$('.multiselect').multiselect('refresh');
于 2014-09-09T17:20:21.210 回答
0
$("#selectedVariables option:selected").prop("selected",false);
$("#selectedVariables option").remove();
$('#selectedVariables').multiselect('rebuild');

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
于 2021-08-31T17:45:57.373 回答
0
$('option', "#id").each(function(element) {
  jQuery("#id").multiselect('deselect', $(this).val());
});

我已成功取消选择先前选择的选项。

于 2021-07-14T04:47:09.137 回答