web-dev-qa-db-fra.com

Moyen rapide pour effacer toutes les sélections sur une sélection multiple activée <select> avec jQuery?

Dois-je parcourir toutes les options et supprimer l'attribut "sélectionné" ou existe-t-il un meilleur moyen?

29
BigOmega

Trouvez simplement toutes les balises <option> sélectionnées dans votre <select> et supprimez l'attribut selected:

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

A partir de jQuery 1.6, vous devriez utiliser .prop au lieu de supprimer l'attribut:

$("#my_select option:selected").prop("selected", false);
56
meagar

Afin d’effacer toute la sélection, j’utilise comme ceci et cela fonctionne très bien pour moi. Voici le script:

 $("#ddlMultiselect").multiSelect("clearSelection");

 $("#ddlMultiselect").multiSelect( 'refresh' );
26
Sumit

Le moyen le plus rapide et le plus rapide de supprimer toute la sélection est de passer une chaîne vide dans la fonction jQuery .val ():

$("#my_select").val('')
3
Prateek

C’est le meilleur moyen de supprimer une zone à sélection multiple ou une liste déroulante:

 $("#drp_assign_list option[value]").remove();
2
Abdul Ershad

Dans JQuery:

  $("#id option:selected").prop("selected", false);
  $("#id").multiselect('refresh');
2
Anand

jQuery : selected selector est probablement ce que vous recherchez.

1
tDo
$('.selectpicker').selectpicker('deselectAll');

https://developer.snapappointments.com/bootstrap-select/methods/

0
Sandesh Mule

Dans Multiselect (Jquery Plugin)

$ ("option # my_select: sélectionné"). removeAttr ("sélectionné");

$ ("# mon_sélection"). multiselect ('refresh');

0
Abdul Hafeez Tahir

En supposant que vous utilisiez Bootstrap multiselect dropdown de David Stutz

$('#selectId').multiselect('deselectAll', false);

Mais pour une raison quelconque, cela ne fonctionne pas dans la méthode d'initialisation

0
Vinu

En javascript,

Vous pouvez utiliser la liste de toutes les options de la liste déroulante multisélection qui sera une boucle Array.Ensuite, elle permet de transformer les attributs sélectionnés en faux dans chaque objet.

for(var i=0;i<list.length;i++)
{
   if(list[i].Selected==true)
    {
       list[i].Selected=false;
    }
}
0
Suraj Kumar

Vous pouvez passer un tableau vide pour désélectionner toute la sélection. Voici un exemple. De documentation

val() vous permet de transmettre un tableau de valeurs d'élément. C'est utile lorsque vous travaillez sur un objet jQuery contenant des éléments tels que, et s à l'intérieur d'un . Dans ce cas, les entrées et les options ont une valeur qui correspond à l'un des éléments du tableau sera vérifié ou sélectionné tandis que ceux ayant une valeur qui ne correspond à aucun des éléments de le tableau sera décoché ou désélectionné, selon le type.

$('.clearAll').on('click', function() {
  $('.dropdown').val([]);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<select class="dropdown" multiple>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>

<button class='clearAll'>Clear All Selection</button>

0
Arup Rakshit