PHPで生成されたチェックボックスのグループがあります:
<?php foreach($checkbox as $check) {?>
<input type = "checkbox" name="checkbox[]" class="<?php echo $check -> class ?>" value ="<?php echo $check -> value ?>" /><?php echo $check->value ?>
<?php } ?>
上記の PHP は、以下の HTML を生成します。
<input type="checkbox" name="checkbox[]" class="class1" value="Checkbox1" />Checkbox1
<input type="checkbox" name="checkbox[]" class="class1" value="Checkbox2" />Checkbox2
<input type="checkbox" name="checkbox[]" class="class1" value="Checkbox3" />Checkbox3
<input type="checkbox" name="checkbox[]" class="class2" value="Checkbox4" />Checkbox4
<input type="checkbox" name="checkbox[]" class="class2" value="Checkbox5" />Checkbox5
<input type="checkbox" name="checkbox[]" class="class2" value="Checkbox6" />Checkbox6
<input type="checkbox" name="checkbox[]" class="class3" value="Checkbox7" />Checkbox7
<input type="checkbox" name="checkbox[]" class="class3" value="Checkbox8" />Checkbox8
上記を説明するために、チェックボックスの 3 つのクラスがあり、それが必要です。
にチェックを入れると無効になり、チェックを外すとclass1
有効に戻ります。チェックすると、他のすべてが無効になり、すでにチェックされている場合はチェックされたままになり、チェックされていない場合はチェックされます。class3
class3
class2
class2
class1
以下のスクリプトを使用して、これを実行しようとしました。
$('input[class*="class"]').click(function(){
if($(this).is(':checked')){
var classValue = $(this).attr('class');
if(classValue == 'class1'){
$('.class3').prop('disabled', true);
$('.class3').prop('checked', false);
}
else if(classValue == 'class2'){
$('.class2').not(':checked').prop('disabled', true);
$('.class3').prop('disabled', true);
}
else if(classValue == 'class3'){
$('.class1').prop('checked', false);
$('.class2').prop('checked', false);
$('.class1, .class2').prop('disabled', true);
}
}
})
しかし、うまくいきません。