jQueryのaddClassでクリックしたときに、クラスをつけたいのですが、現在は、下のコードのように今は同じようなjQueryのコードを2つ用意するといった効率の悪いコードの書き方をしています。
変数やfor文などでもっと効率のいい方法を探しています
inputのラジオボタンのbackgroundを選択した物だけ変えるようにしたいです。今回はcssの質問ではないので、cssのコードについては控えます。selectedを付けるとbackgroundの色が変わるものとします。
selectedの付け方は、ラジオボタンのような機能にしたいです。
コーディングは、初心者なのでご指導のほどよろしくお願いします。
HTML
<div> <label class="schoolgrade"><input type="radio" name="schoolgrade" value="4" required>小学4年生</label> <label class="schoolgrade"><input type="radio" name="schoolgrade" value="5" required>小学5年生</label> <label class="schoolgrade"><input type="radio" name="schoolgrade" value="6" required>小学6年生</label> </div> <div> <label class="schoolclass"><input type="radio" name="schoolclass" value="1" required>1組</label> <label class="schoolclass"><input type="radio" name="schoolclass" value="2" required>2組</label> <label class="schoolclass"><input type="radio" name="schoolclass" value="3" required>3組</label> <label class="schoolclass"><input type="radio" name="schoolclass" value="4" required>4組(</label> </div>
jQuery
$('.schoolgrade').on('click', function(){ if($('.schoolgrade').hasClass('selected')){ $('.schoolgrade').removeClass('selected'); $(this).addClass('selected'); }else{ $(this).addClass('selected'); } }) $('.schoolclass').on('click', function(){ if($('.schoolclass').hasClass('selected')){ $('.schoolclass').removeClass('selected'); $(this).addClass('selected'); }else{ $(this).addClass('selected'); } })

回答4件
あなたの回答
tips
プレビュー