Lorsque vous cliquez sur li, je veux que la radio d'entrée soit cliquée.Lorsque vous cliquez sur le LI puis cliquez automatiquement sur la radio d'entrée
Cependant, je reçois une erreur de journal Conole disant:
Uncaught RangeError: Maximum call stack size exceeded
Comment résoudre ce problème?
Voici le code html:
<ul class="Method">
<li class="shipping_today active">
<label> Label 1 </label>
<input value="shipping_today" name="shipping" type="radio" />
</li>
<li class="shipping_next_month">
<label> Label 2 </label>
<input value="shipping_next_month" name="shipping" type="radio" />
</li>
</ul>
Jquery:
$(".Method li").click(function() {
var thisLi = $(this);
var radio = $(this).find("input:radio");
if (radio.val() == "shipping_today") {
$(".Method li").eq(1).removeClass("active");
$(this).addClass("active");
}
if (radio.val() == "shipping_next_month") {
$(".Method li").eq(-2).removeClass("active");
$(this).addClass("active");
}
radio.click(); //problem here...
});
est mon code jQuery bonne? qu'est-ce qui peut être amélioré?
merci.
Cela ne fonctionnera pas dans notre cas, cependant, car l'événement se produit * à partir du * bouton radio * jusqu'à * l'élément de la liste. Vous devrez lier ce gestionnaire à '$ (". Méthode li input: radio ")' à la place. –
C'est vrai, mon erreur. – zvona