マスターとスレーブのチェックボックスを制御するためのスクリプトを作成しました (自動チェックとチェック解除)。
これが私のJSです:
$(document).ready(function() {
$('#myCheck').click(function() {
$('.myCheck').attr('checked', false);
});
$('.myCheck').click(function() {
if ($('.myCheck').is(':checked')) {
$('#myCheck').attr('checked', false);
} else {
$('#myCheck').attr('checked', true); // IT DOESN'T WORK, WHY ?
alert("Checkbox Master must be checked, but it's not!");
}
});
});
そして、ここに私のHTMLがあります:
<input type="checkbox" id="myCheck" checked="checked" /> Checkbox Master<br />
<input type="checkbox" class="myCheck" value="1" /> Checkbox Slave 1<br />
<input type="checkbox" class="myCheck" value="1" /> Checkbox Slave 2
問題を理解するには、私の単純なJsFiddleを見てください。
EDIT 1: Inserが言ったように、問題はjQuery 1.9.2以降で発生します。jQuery 1.8.3 ではもう問題ありません。変...
EDIT 2 : Inser が解決策を見つけました。代わりに.attr('checked', true)を使用してください。以下のコメントを見てください...