默认情况下,选择具有全选的选取器

selectpicker with select all by default

本文关键字:全选 选取 情况下 选择 默认      更新时间:2023-09-26

我正在使用选择器插件。现在我正在尝试默认选择所有选项,或者至少选择一个按钮来选择所有选项,而无需在下拉列表中单击。

目前,该演示仅在单击下拉列表后单击按钮时才有效。

知道吗?

$('.selectpicker').selectpicker();

$(".btn_clk").click(function () {
    $('.selectpicker').selectpicker('selectAll');
});

http://jsfiddle.net/tpnw96ed/

现在有默认方法可以添加"全选""取消全选"按钮来选择选择器。您应该使用选项 data-actions-box="true" 来启用按钮并data-select-all-text="Select all buttton name" data-deselect-all-text="Deselect all button name"重命名它们

您可以在单击按钮之前/之后打开/关闭选择器:

$(".btn_clk").click(function () {
    $('.dropdown-menu').css("display","block");
    $('.selectpicker').selectpicker('selectAll');
    $('.dropdown-menu').css("display","none");
});

编辑:您还需要添加以下内容,以便在选择全部后手动触发点击下拉菜单:

$('.selectpicker').click(function () {
    if($('.dropdown-menu').css("display") == "block") $('.dropdown-menu').css("display","none");
    else $('.dropdown-menu').css("display","block");
});

吉斯菲德尔

试试这个:

  $('.selectpicker').selectpicker('val', ['Mustard','Relish', 'Ketchup']);

这个线程中的解决方案对我有用。

这是插件的更新代码:

888 和 895 行在 boostrapt-select 中.js

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

请注意,更改.filter(':visible')现在已.not('.hide')