Je veux pouvoir définir la valeur par défaut/sélectionnée d'un élément de sélection à l'aide du plugin JQuery Select2.
Une autre façon - ajoutez simplement un attribut selected = "selected"
à la balise select
et appelez select2
dessus. Il doit prendre votre valeur sélectionnée. Pas besoin de JavaScript supplémentaire. Comme ça :
Balisage
<select class="select2">
<option id="foo">Some Text</option>
<option id="bar" selected="selected">Other Text</option>
</select>
JavaScript
$('select').select2(); //oh yes just this!
Voir le violon: http://jsfiddle.net/6hZFU/
Edit: (Merci, Jay Haase!)
Si cela ne fonctionne pas, essayez de définir la propriété val
de select2
sur null
, pour effacer la valeur, comme ceci:
$('select').select2("val", null); //a lil' bit more :)
Après cela, il est assez simple de définir val
à "Whatever You Want"
.
Une façon d'accomplir ceci est ...
$('select').select2().select2('val', $('.select2 option:eq(1)').val());
Donc, en gros, vous devez initialiser le plugin, puis spécifier la valeur par défaut en utilisant le paramètre 'val' La valeur réelle provient de l'option spécifiée, dans ce cas # 1. La valeur sélectionnée dans cet exemple serait donc "bar".
<select class=".select2">
<option id="foo">Some Text</option>
<option id="bar">Other Text</option>
</select>
J'espère que cela sera utile à quelqu'un d'autre.
$("#id").select2("val", null); //this will not work..you can try
En fait, vous devriez le faire ... tout d'abord, puis définissez la valeur ... eh bien, c'est aussi la façon dont cela a fonctionné pour moi.
$("#id").select2().select2("val", null);
$("#id").select2().select2("val", 'oneofthevaluehere');
Les solutions ci-dessus ne fonctionnaient pas pour moi, mais ce code du site Web de Select2 a:
$('select').val('US'); // Select the option with a value of 'US'
$('select').trigger('change'); // Notify any JS components that the value changed
J'espère que cela aide pour tous ceux qui luttent, comme moi.
Pour 4.x version
$('#select2Id').val(__INDEX__).trigger('change');
sélectionner une valeur avecINDEX
$('#select2Id').val('').trigger('change');
ne rien sélectionner (affichez un espace réservé si c'est le cas)
Je ne connais pas le problème des autres, Seul ce code a fonctionné pour moi.
$('select').val('').select2();