Frage bootstrap multiselect - Entfernen / Entfernen Sie alle Optionen mit einem einzigen Klick


Ich benutze Bootstrap Multiselect und ich möchte eine Option hinzufügen, um alle ausgewählten Optionen zu deaktivieren. Bitte stelle mir eine Lösung für das gleiche zur Verfügung. Danke für jede Hilfe :)


8
2018-03-27 11:38


Ursprung


Antworten:


Versuche dies

$("option:selected").prop("selected", false)

-3
2018-03-27 11:41



Sie können verwenden .multiselect('refresh') Methode wie in der bootstrap-multiselect Dokumentation Hier.

Fügen Sie also eine HTML-Schaltfläche / ein Symbol neben der Mehrfachauswahlliste hinzu und verwenden Sie den folgenden Code:

$("#reset_client").click(function(){
  $('option', $('#select_client')).each(function(element) {
    $(this).removeAttr('selected').prop('selected', false);
  });
  $("#select_client").multiselect('refresh');
});
<select name="clients[]" multiple="multiple" id="select_client" style="display: none;">
    <option value="multiselect-all"> Select all</option>
    <option value="1">Client 1</option>
    <option value="2">Client 2</option>
    <option value="3">Client 3</option>
    <option selected="selected" value="4">Client 4</option>
    <option selected="selected" value="5">Client 5</option>
    <option value="6">Client 6</option>
    <option selected="selected" value="7">Client 7</option>
    <option value="8">Client 8</option>
</select>

<input type="button" value="Reset" name="reset_clients" id="reset_client" class="reset_button" title="Clear Selection">


10
2017-09-17 17:17



Sie können dies mit der Methode "deselectAll" tun.

$("select.multiselect").multiselect("deselectAll", false);

Es ist wichtig, dass Sie jQuery sagen, dass es nur auf Ihre "selects" zielt, andernfalls wird es fehlschlagen. Dies liegt daran, dass das Plugin etwas anderes mit demselben Klassennamen hinzufügt.

@ L_7337 - Dies ist kein Duplikat des Posts, auf den Sie verlinken. In diesem Post geht es darum, alle Optionen abzuwählen, wenn Sie sie verwenden Bootstrap-Mehrfachauswahl

Der andere Beitrag ist, wie man die Auswahl von einer normalen Multiselektionsoption ablöst.

Freundliche Grüße Rasmus


5
2018-03-27 11:26



Sie können eine Schaltfläche "Alle auswählen" einfügen, wenn Sie diese zweimal drücken, wird "Alle abwählen" ausgewählt. Fügen Sie dazu folgende Option hinzu:

includeSelectAllOption:true

Dies wird alle für einen Bootstrap-Multiselect basierend auf einem Select-Element auswählen.

function multiselect_deselectAll($el) {
    $('option', $el).each(function(element) {
        $el.multiselect('deselect', $(this).val());
    });
}

$('.multiselect').each(function() {
    var select = $(this);
    multiselect_deselectAll(select);
});

Sie können eine Option von Hand hinzufügen, die "Alles auswählen" anzeigt und dann, wenn sie gedrückt wird, die Reset-Funktion aufrufen.

Sehen: https://github.com/davidstutz/bootstrap-multiselect/issues/271


5
2018-05-30 15:43



Wenn Sie die folgende Mehrfachauswahl haben:

<div class="form-group">
      <label>Choose Skills</label>
      <select id="DDL" name="selValue" class="selectpicker form-control"  multiple>
               <option value="1">One</option>
               <option value="2">Two</option>
               <option value="3">Three</option>
        </select>
  </div>

Dann können Sie die Option jQuery verwenden, um alle Optionen auf einen Klick auf eine Schaltfläche zu deaktivieren:

$('#DDL').selectpicker("deselectAll", true).selectpicker("refresh");

1
2018-01-21 22:19



Versuche dies:

$("#select_id option:selected").removeAttr("selected");

0
2018-06-18 04:50



Das Problem wurde in einer Gitlab-Gabel behoben Hier

es sagt:

Der Trigger onSelectAll wurde behoben, wenn die Auswahl von Alle aufheben aufgehoben wurde

Alternativ können wir warten Ausgabe # 752 wird gelöst werden. Es wurde erst vor einem Monat aufgezogen.


0
2018-06-30 01:29