かなり単純だと思いますが、残念ながら私は JavaScript をまったく知らず、既存の解決策を見つけることができませんでした。
<input type='checkbox' class='group1' name='1'> Name1<br>
<input type='checkbox' class='group1' name='2'> Name2<br>
<input type='checkbox' class='group1' name='3'> Name3<br><br>
<input type='checkbox' class='group2' name='4'> Name4<br>
<input type='checkbox' class='group2' name='5'> Name5<br>
そのため、、、またはいずれも選択されていない場合はName1
、無効にする必要があります。Name2
Name3
Name4
Name5
よろしくお願いします!
私のページにはすでに jQuery が < head > セクションに含まれているため、このライブラリを必要とするバリアントを使用することにしました。そこで、 Wing Leongが提供したコードを試してみましたが、成功しました。ただし、次の 2 つの欠点があります。
- 無効になっているチェックボックスは明示的にオフに設定する必要があることを忘れていました。現在の実装では、2 番目のグループ (たとえば、
Name4
) のチェックボックスの 1 つを選択し、最初のグループのすべてのチェックボックスのチェックを外すと、Name4
無効になりますが、チェックされたままになります。フォームを処理するサーバーは選択されたオプションとして受け入れるため、これは完全に間違っていName4
ます。そうでない場合、ユーザーは混乱する可能性があります。 このページには、ユーザーが「すべてチェック」というチェックボックスを選択すると、最初のグループのすべてのチェックボックスが自動的に選択される別の jQuery スクリプトがあります。ここにあります:
<input type='checkbox' id='maincb'> Check all
そしてこれのためのJavaScript:
<script type="text/javascript">
$(document).ready( function() {
$("#maincb").click( function() {
if($('#maincb').attr('checked')) {
$('.group1:enabled').attr('checked', true);
} else {
$('.group1:enabled').attr('checked', false);
}
});
});
</script>
問題は、これら 2 つのスクリプトがうまく機能しないことです。group1
クラスを「すべてチェック」チェックボックスに割り当てた後でも、2番目のグループのチェックボックスには影響しません。