web-dev-qa-db-fra.com

Désélectionner tous les éléments d'un menu déroulant à sélections multiples dans jQuery

J'ai un multi-select déroulant comme suit, où j'ai sélectionné les options "Test 2" et "Test 3".

<select id="edit-rec" class="form-select" multiple="multiple" name="rec[]">
<option value="6012">Test 1</option>
<option value="8436">Test 2</option>
<option value="4689">Test 3</option>
<option value="6784">Test 4</option>
</select>

J'ai un bouton appelé "Tout désélectionner". Lorsque ce bouton est cliqué, tous les éléments sélectionnés doivent être désélectionnés . Dans ce cas, les éléments que j'ai précédemment sélectionnés, "Test 2" et "Test 3", doivent maintenant être désélectionnés.

Comment puis-je accomplir cela en utilisant jQuery?

26
Fero
$("#edit-rec option:selected").removeAttr("selected");
45
Chuck Norris

Essayer - 

$("#edit-rec > option").attr("selected",false);

Démo - http://jsfiddle.net/LhSBu/

13
ipr101

En cliquant sur le bouton radio, vous pouvez utiliser cette

$("#edit-rec  option").each(function(){

    this.selected=false;

});
6
M S

Toutes les options cochées de multiselect dropdownlist seront supprimées:

$ ('# ddlTradeShow'). multiselect ("clearSelection");

6
SPnL
$("#edit-rec option:selected").removeAttr("selected");
4
Haim Evgi
$("#butt").click(function () {
    $("#edit-rec > option").removeProp("selected");
});

c'est correct avec la nouvelle version de jQuery

3
sunpietro

Le moyen le plus simple que j'ai trouvé de désélectionner toutes les options dans une liste déroulante à sélections multiples était d'utiliser .val([]).

$("#select").val([]);
3
Maykonn

Peut faire quelque chose comme ceci JS Fiddle pour configurer le clic sur le bouton radio http://jsfiddle.net/x5ck3/

$('#rdClear').click(

function() {
    $("#edit-rec option:selected").removeAttr("selected");
});
3
Chris

Il existe maintenant une autre possibilité directement fournie par l’API:

$('#edit-rec').multiSelect('deselect_all');

Fonctionne bien, vous trouverez ici plus d'options: http://loudev.com/

0
Jean-Loup Becquet