web-dev-qa-db-fra.com

jQuery obtient la valeur d'option sélectionnée (pas le texte, mais l'attribut 'valeur')

Ok, j'ai ce code:

<select name="selector" id="selector">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>

Et j'aimerais obtenir la valeur de l'option sélectionnée . Exemple: "Option 2" est sélectionné et sa valeur est "2". Le "2" est la valeur que je dois obtenir et non "Option 2".

136
n00b

Utilisez .val pour obtenir la valeur de l’option sélectionnée. Voir ci-dessous,

$('select[name=selector]').val()
239
$('select').change(function() {
    console.log($(this).val())
});​

Exemple jsFiddle

.val() obtiendra la valeur.

22
j08691

Vous devez ajouter un identifiant à votre choix. Ensuite:
$('#selectorID').val()

8
Marcus

vous pouvez utiliser jquery comme suit

SCRIPT

  $('#IDOfyourdropdown').change(function(){
    alert($(this).val());
  });

FIDDLE est ici

4
Usman

Essaye ça:

$(document).ready(function(){
    var data= $('select').find('option:selected').val();
});

ou

var data= $('select').find('option:selected').text();
4
Payal Mittal

Une de mes options n'avait pas de valeur: <option>-----</option>. J'essayais d'utiliser if (!$(this).val()) { .. } mais j'obtenais des résultats étranges. Il s'avère que si vous n'avez pas d'attribut value sur votre élément <option>, il renvoie le texte qu'il contient à la place d'une chaîne vide. Si vous ne souhaitez pas que val() renvoie quoi que ce soit pour votre option, veillez à ajouter value="".

2
Gavin

Pour une sélection comme celle-ci

<select class="btn btn-info pull-right" id="list-name" style="width: auto;">
   <option id="0">CHOOSE AN OPTION</option>
   <option id="127">John Doe</option>
   <option id="129" selected>Jane Doe</option>

... vous pouvez obtenir l'identifiant de cette façon:

$('#list-name option:selected').attr('id');

Ou vous pouvez utiliser la valeur à la place et l'obtenir facilement ...

<select class="btn btn-info pull-right" id="list-name" style="width: auto;">
   <option value="0">CHOOSE AN OPTION</option>
   <option value="127">John Doe</option>
   <option value="129" selected>Jane Doe</option>

comme ça:

$('#list-name').val();
2
Geziel Carvalho

Regardez l'exemple:

    <select class="element select small" id="account_name" name="account_name"> 

        <option value="" selected="selected">Please Select</option>           
        <option value="Paypal" >Paypal</option>
        <option value="webmoney" >Webmoney</option>

    </select>

 <script type="text/javascript">

        $(document).ready(function(){ 
             $('#account_name').change(function(){
               alert($(this).val());                                                          
             });
        });
 </script>
0
user2962280
 $(document ).ready(function() {
    $('select[name=selectorname]').change(function() { 
     alert($(this).val());});
 });
0
Turan Zamanlı

ce code fonctionne très bien pour moi: this retourne la valeur de l’option sélectionnée . $ ('# select_id'). find ('option: selected'). val ();

0
a.miadian
$('#selectorID').val();

OU

$('select[name=selector]').val();

OU

$('.class_nam').val();
0
Saddam Khan