禁用bootstrap multiselect取消选择所有按钮

时间:2018-04-27 07:09:01

标签: html bootstrap-multiselect

我想禁用Deselect All按钮。我也想保留Select All按钮。

这是我的选择

<select id="typeCheckboxSelect" class="selectpicker" name="typeSelector[]" multiple="multiple">
   <option class='typeCheckbox' type='checkbox' value='test1'>Test One</option>
   <option class='typeCheckbox' type='checkbox' value='test2'>Test Two</option>
   <option class='typeCheckbox' type='checkbox' value='test3'>Test Three</option>
</select>

2 个答案:

答案 0 :(得分:2)

您可以使用this小提琴

$('#select_all').click(function() {
  $('#typeCheckboxSelect option').prop('selected', true);
  $("#de_select_all").prop('disabled', false);
});

$('#de_select_all').click(function() {
  $('#typeCheckboxSelect option').prop('selected', false);
  $(this).prop('disabled', true);
});

$(document).on('change', '#typeCheckboxSelect', function() {
  $("#de_select_all").prop('disabled', false);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="typeCheckboxSelect" class="selectpicker" name="typeSelector[]" multiple="multiple">
   <option class='typeCheckbox' type='checkbox' value='test1'>Test One</option>
   <option class='typeCheckbox' type='checkbox' value='test2'>Test Two</option>
   <option class='typeCheckbox' type='checkbox' value='test3'>Test Three</option>
</select>
<br>
<input type="button" id="select_all" name="select_all" value="Select All">
<br>
<input type="button" id="de_select_all" name="de_select_all" value="De Select All">

答案 1 :(得分:1)

onSelectAll callback中,您可以隐藏或禁用该按钮,具体取决于您的选择。

在某些情况下,您可能还希望包含重新启用按钮的逻辑,但我不知道这些情况何时适合您。请注意,如果您手动选择每个条目,则会发生此onSelectAll回调。

<强> HTML:

<div id="selectContainer">
   <select id="typeCheckboxSelect" multiple="multiple">
      <option value='test1'>Test One</option>
      <option value='test2'>Test Two</option>
      <option value='test3'>Test Three</option>
   </select>
</div>

MultiSelect初始化:

$("#typeCheckboxSelect").multiselect({
    includeSelectAllOption: true,
    onSelectAll: function() {
        $("#selectContainer .multiselect-container input[value='multiselect-all']").prop('disabled', true);
    }
});

这将只是禁用按钮。如果要重新启用它,可以在任何所需的处理程序中调用以下代码。

$("#selectContainer .multiselect-container input[value='multiselect-all']").prop('disabled', false);

我创建了一个fiddle demonstrating it here