jQuery obtenir la valeur d’option sélectionnée (pas le texte, mais l’atsortingbut «valeur»)

Ok, j’ai ce code:

 Option 1 Option 2  

Et j’aimerais connaître la valeur de l’option sélectionnée. Exemple: l’option 2 est sélectionnée et la valeur est 2. Le «2» est la valeur que je dois obtenir et non pas «l’option 2».

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

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

Je voulais juste partager mon expérience et ma réputation ne suffit pas à commenter.

Pour moi,

$('#selectorId').val()

renvoyé null.

Je devais utiliser

$('#selectorId option:selected').val()

 $('select').change(function() { console.log($(this).val()) });​ 

jsFiddle exemple

.val() obtiendra la valeur.

Vous devez append un identifiant à votre sélection. Alors:
$('#selectorID').val()

vous pouvez utiliser jquery comme suit

SCÉNARIO

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

FIDDLE est là

Pour une sélection comme celle-ci

  

… 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 …

  

comme ça:

 $('#list-name').val(); 

L’une de mes options n’avait pas de valeur: . 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’atsortingbut de value sur votre élément , il retourne le texte à l’intérieur au lieu d’une chaîne vide. Si vous ne voulez pas que val() renvoie quelque chose pour votre option, assurez-vous d’append une value="" .

Essaye ça:

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

ou

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

Regardez l’exemple:

    
 $('#selectorID').val(); 

OU

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

OU

 $('.class_nam').val(); 

Ce code fonctionne très bien pour moi: cela renvoie la valeur de l’option sélectionnée. $ (‘# select_id’). find (‘option: selected’). val ();

  $(document ).ready(function() { $('select[name=selectorname]').change(function() { alert($(this).val());}); });