web-dev-qa-db-fra.com

JQuery select2 définir la valeur par défaut d'une option dans la liste?

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.

47
user857276

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".

47
krishgopinath

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.

22
user857276
$("#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');
22
rajesh_kw

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

Page Web trouvée ici

J'espère que cela aide pour tous ceux qui luttent, comme moi.

11
avebone

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) 

5
Wishmaster

Je ne connais pas le problème des autres, Seul ce code a fonctionné pour moi.

$('select').val('').select2();
0
Fahad Bhuyian