同じグループの別のラジオボタンをチェックするときにクラスを削除できません。今は、クラスは固執して決して遠ざかりません。異なるラジオボタンを選択するとクラスを削除します
$(function(){
$('input[name=radio]').change(function(){
if($(this).is(":checked")){
$(this).closest('div').addClass("payBoxSelected");
} else {
$(this).closest('div').removeClass("payBoxSelected");
}
});
});
これはなぜ機能しないのでしょうか?
は –
同様に選択された要素のためではなく、未チェックのもののための無線火災のための変更イベントを、あなたのHTMLを表示します。それは常にチェックされます。 – Taplar
以下の回答のためのサイドノート。すべてのラジオのコレクションがある場合は、$ allTheRadios.not(これ)を実行すると、クラスを削除できる選択されていないラジオがすべて返されます。あなたが選択されたものであることを知っているので、ifロジックを行う必要はありません。 'element.checked'が利用可能であるため、あなたが$(要素)を行う必要がない場合でもサイドサイドノート.is(':checked ') – Taplar