Désélectionner tous les éléments d'une liste déroulante multi-select à jQuery

j'ai une liste déroulante Multi-select 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é "Désélectionner Tout". Lorsque ce bouton est cliqué, tous les éléments sélectionnés doivent être désactivée. Dans ce cas, les items que j'ai précédemment sélectionnés, "Test 2" et "Test 3", devraient être désélectionnés.

Comment puis-je accomplir ceci en utilisant jQuery?

26
demandé sur Maxim Zaslavsky 2011-11-24 13:16:47

9 réponses

$("#edit-rec option:selected").removeAttr("selected");
45
répondu Chuck Norris 2011-11-24 09:19:14

-

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

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

12
répondu ipr101 2011-11-24 09:19:19

clic de bouton radio, vous pouvez utiliser ce

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

    this.selected=false;

});
6
répondu M S 2011-11-24 09:29:00

il supprimera toutes les options vérifiées de la liste déroulante multi-sélect :

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

5
répondu SPnL 2016-06-03 10:48:20
$("#edit-rec option:selected").removeAttr("selected");
4
répondu Haim Evgi 2011-11-24 09:18:19
$("#butt").click(function () {
    $("#edit-rec > option").removeProp("selected");
});

c'est correct avec la nouvelle version jQuery

3
répondu sunpietro 2011-11-24 09:28:01

Peut faire quelque chose comme ceci JS Fiddle pour l'établissement de la cliquez sur le bouton radio http://jsfiddle.net/x5ck3/

$('#rdClear').click(

function() {
    $("#edit-rec option:selected").removeAttr("selected");
});
2
répondu Chris 2011-11-24 09:24:04

la façon la plus facile que j'ai trouvée pour désélectionner toutes les options dans un dropdown multi-select était d'utiliser .val([]).

$("#select").val([]);
1
répondu Maykonn 2017-04-05 20:17:24

Il y a maintenant une autre possibilité directement fournie par L'API:

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

Fonctionne très bien, ici, vous pouvez trouver plus d'options à ce sujet : http://loudev.com/

0
répondu Jean-Loup Becquet 2016-10-19 15:15:10