En utilisant cet exemple simplifié, supposons que j'ai une table contenant des boutons radio suivie d'un élément div avec un lien. Ce modèle est ensuite répété un nombre inconnu de fois comme ceci:jQuery: sélection de la première instance d'un élément qui se produit après un autre élément spécifié
<table class="rdoBtnList">
<tbody>
<tr>
<td> Person 1 </td>
<td>
<label for="rb1">Verified</label>
<input type="radio" id="rb1" name="rdoBtns" value="Verified" />
<label for="rb2">Not Verified</label>
<input type="radio" id="rb2" name="rdoBtns" value="NotVerified" />
</td>
</tr>
</tbody>
</table>
<div class="PersonLink"><a href="#">Link to Person 1 page</a></div>
..... tables and divs for person 2, 3, ... n, etc
Je voudrais pouvoir utiliser jQuery pour activer/désactiver le lien dans la div suivant les boutons radio en fonction de la valeur du bouton radio . Je peux obtenir la valeur des boutons radio, mais ne peux pas comprendre quelle syntaxe de sélecteur je voudrais utiliser pour activer/désactiver juste le div après les boutons radio.
Voici mon jQuery jusqu'à présent:
<script type="text/javascript">
$(document).ready(function() {
$(".rdoBtnList > tbody > tr > td > input").change(function() {
if ($(this).val() == "Verified") {
// select the link in the div following the table and enable it
} else {
// select the link in the div following the table and disable it
}
});
});
</script>
Cette approche semble bonne, bien que dans mon code de la vie réelle j'ai fini par devoir faire un peu plus de traverser que je l'aurais fait dans cet exemple. Votre code m'a montré comment faire ça! Aussi le 'if ($ (this) .val() ==" True ")' était une faute de frappe de ma part et aurait dû être 'if ($ (this) .val() ==" Vérifié ")'. J'ai édité mon post pour refléter cela. Merci! – hotbot86