私はこれの多くの例を見つけましたが、1 つのナゲットで私がやろうとしていることを正確に示しているものはありません。チェックボックスまたはラジオが「チェック」されているかどうかに応じて、チェックボックスまたはラジオのラベルを変更する必要があります (派手な入力の場合、ラベルは入力を囲む必要があります)。これらの入力の一部は、フォームに到着したときにチェックされるため、チェックされている場合は到着時にクラスを表示する必要があります。
チェックボックスは現在機能していますが、ラジオボタンを壊さずにミックスに追加するにはどうすればよいですか? 助けてくれてありがとう!
ここに私のHTML/CSSがあります:
<style type="text/css">
.c_on {color: #F0F;}
.r_on {color: #0F0;}
</style>
<fieldset class="checkboxes">
<label for="chk1"><input type="checkbox" id="chk1" />chk1</label><br />
<label for="chk2"><input type="checkbox" id="chk2" checked="checked" />chk2</label>
</fieldset>
<fieldset class="radios">
<label for="rdo1"><input type="radio" name="group1" id="rdo1" />rdo1</label><br />
<label for="rdo2"><input type="radio" name="group1" id="rdo2" checked="checked" />rdo2</label>
</fieldset>
これが私のjQueryです:
$(document).ready(function() {
/* Turn checkbox class on */
var checkOn = 'c_on'
function toggleLabelClass(input){
var $input = $(input);
if ($input.is('[type="checkbox"]:checked')){
$input.parent('label').addClass(checkOn);
}else{
$input.parent('label').removeClass(checkOn)
}
}
$(function() {
$('input[type="checkbox"]').each(function(){
toggleLabelClass(this);
$(this).click(function(evt){
toggleLabelClass(evt.target);
});
});
});
});