以下のコードは、CSSのdisplay:noneプロパティを使用してデフォルトで非表示になっている4つのラジオボタンを示しています。ただし、「label」タグを使用して選択します。私はまた、すべてをラップするdivを持っています。
含まれているラジオボックスが選択されている場合、この「div」タグにクラスを追加/削除する方法を知りたいです。
したがって、ラジオを選択すると、親divはクラスを取得し、別のラジオが選択されると、クラスはこのdivから削除され、選択されたラジオの親divに追加されます。
<div class="plan">
<h3 class="division-one">Division One<span>€2</span></h3>
<div><label for="23">1 month</label><input type="radio" name="membershipPlanSID" value="23" id="23" /></div>
<div><label for="24">3 months</label><input type="radio" name="membershipPlanSID" value="24" id="24" /></div>
<div><label for="25">6 months</label><input type="radio" name="membershipPlanSID" value="25" id="25" /></div>
<div><label for="26">12 months</label><input type="radio" name="membershipPlanSID" value="26" id="26" /></div>
<input type="hidden" name="returnBackUri" value="{$returnBackUri}" />
<input class="signup" type="submit" value="[[Sign Up:raw]]" />
</div>
私はこのようなことを試みましたが、成功しませんでした:
$('input:radio').click(function() {
if($(this).is(':checked')) {
$(this).parent().addClass('label-selected');
} else {
$(this).parent().removeClass('label-selected');
}
});
これを行うと、「else」にもかかわらず、クラスが削除されることはありません。
よろしくお願いします、Arky
編集:非常に速い答えをたくさんの人に感謝します!ここの素晴らしいコミュニティ:)