11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour,
Je vous explique mon problème, voici le code

<div>
<select class="selection">
<option value="test1">test1</option>
<option value="test2">test2</option>
</select>
<a href="#" id="btn-go">GO</a>
</div>


je souhaite récupérer en jquery la value de l'élément sélectionné lorsque le bouton go est cliqué.
J'ai plusieurs select et a dans ma page

J'ai essayé ça mais sans succès :

$('#btn-go').click(function() {
var selected = $(this).prev('.selection option:selected').val();
});



Une petite idée ? Smiley ohwell
Modifié par Yannick.P (13 Apr 2015 - 14:03)
Administrateur
Bonjour,

pour les checkbox, je sais que... enfin dew m'a expliqué qu'il faut utiliser .prop() et pas .attr() (il y a un joli tableau dans la doc).
Si j'en crois :
a écrit :
The same is true for other dynamic attributes, such as selected and value

ça devrait être pareil pour les select mais là j'ai pas joué avec...

edit: .prop() vs .attr() sur Stackoverflow
Modifié par Felipe (13 Apr 2015 - 14:22)
C'est bon, j'ai trouvé

$('#btn-go').click(function() {
var liste = $(this).prev('.selection');
var objectSelect = $(selected).find("option:selected");
var selectedValue = objectSelect[0].innerHTML;
});

objectSelect renvoie un objet sous forme de tableau ou l'index 0 contient toutes les infos de l'élément selected sous forme d'objets. innerHTML récupère la value.
Hello,

Si c'est un select à valeur unique, il suffit de faire :
$(this).prev('.selection').val();


A+