Dans votre code, jQuery recherche simplement la première instance d'une entrée avec nom q12_3
, qui dans ce cas a une valeur de 1
. Vous voulez une entrée avec un nom q12_3
qui est :checked
.
$("#submit").click(() => {
const val = $('input[name=q12_3]:checked').val();
alert(val);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr>
<td>Sales Promotion</td>
<td><input type="radio" name="q12_3" value="1">1</td>
<td><input type="radio" name="q12_3" value="2">2</td>
<td><input type="radio" name="q12_3" value="3">3</td>
<td><input type="radio" name="q12_3" value="4">4</td>
<td><input type="radio" name="q12_3" value="5">5</td>
</tr>
</table>
<button id="submit">submit</button>
Notez que le code ci-dessus n'est pas le même que celui utilisé .is(":checked")
. La is()
fonction de jQuery renvoie un booléen (vrai ou faux) et non un (des) élément (s).
Parce que cette réponse retient beaucoup l'attention, je vais également inclure un extrait de code JavaScript vanille.
document.querySelector("#submit").addEventListener("click", () => {
const val = document.querySelector("input[name=q12_3]:checked").value;
alert(val);
});
<table>
<tr>
<td>Sales Promotion</td>
<td><input type="radio" name="q12_3" value="1">1</td>
<td><input type="radio" name="q12_3" value="2">2</td>
<td><input type="radio" name="q12_3" value="3">3</td>
<td><input type="radio" name="q12_3" value="4">4</td>
<td><input type="radio" name="q12_3" value="5">5</td>
</tr>
</table>
<button id="submit">submit</button>
Vous voudrez peut-être changer de sélecteur:
$('input[name=q12_3]:checked').val()
la source
Il y a un autre moyen aussi. Essayez ci-dessous le code
la source
$('input:radio[name=q12_3]:checked').val();
la source
DÉMO : https://jsfiddle.net/ipsjolly/xygr065w/
la source
utiliser ce script
la source
is
fonction de jQuery renverra aboolean
, ce qui dans ce cas serait inutile.