J'ai une liste avec l'entrée radio et le texte. Quand j'en ai coché un il a ajouté une classe de checked
ajoutée (ce n'est pas dans l'exemple). Je veux cacher la radio et afficher uniquement du texte.Ajouter et supprimer une classe sur l'étiquette radio de clic
J'ai déjà essayé du code JS et j'ai un échantillon presque fonctionnel mais il y a deux choses qui ne marchent pas bien.
Le premier est que sur le chargement de la page tout texte est marqué comme actif, et la seconde est que la classe active n'est pas supprimée lorsque je clique sur un autre texte.
$(".attrprod").click(function(e) {
$(this).addClass("active").siblings().removeClass("active");
});
.active {
border: 2px solid red
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<ul>
<li>
<label>
<div class="radio"><span class="checked"><input type="radio" class="attribute_radio" name="group_1" value="954" checked="checked"></span>
</div>
<span class="attrprod">36</span>
</label>
</li>
<li>
<label>
<div class="radio"><span><input type="radio" class="attribute_radio" name="group_1" value="956"></span></div>
<span class="attrprod">37</span>
</label>
</li>
<li>
<label>
<div class="radio"><span><input type="radio" class="attribute_radio" name="group_1" value="957"></span></div>
<span class="attrprod">38</span>
</label>
</li>
<li>
<label>
<div class="radio"><span><input type="radio" class="attribute_radio" name="group_1" value="958"></span></div>
<span class="attrprod">39</span>
</label>
</li>
<li>
</ul>
Je ne peux pas ajouter simplement la classe 'active' au premier élément parce qu'elle provient de smarty forach loop donc j'ajoute' {if $ numbers @ first} actif {/ if} 'qui a fait le travail :) –