チェックボックスがたくさんあり、次にこの「マスター」チェックボックスがオフになり、チェックされている場合はすべてチェックされます。非常に一般的な UI のアイデアです。GMail やコンピューターを使用している場合は、おそらく見たことがあるでしょう。
各チェックボックスには、変更時に発生するイベントがあります。マスター チェックボックスをクリックすると、変更が必要なチェックボックスのみで起動されます。
Chrome では機能しますが、IE7 では機能しません。つまり、Chrome でマスター チェックボックスをクリックすると、クリックが必要な他のボックスにクリックが集約され、それらの「onChange」イベントが発生します。IE7 では、クリックは集計されているように見えますが、onChange イベントは発生していません。
デモ html
<ul>
<li>
<input id='master' type='checkbox'/>
</li>
<li>
<input class='minion' type='checkbox'>
</li>
<li>
<input class='minion' type='checkbox'>
</li>
</ul>
<div id="log" style='background:#eee;cursor:pointer;'>
</div>
デモ JavaScript、jquery 1.7
$(function() {
$("#log").click(function() {
$(this).html('');
});
$(".minion").change(function() {
var msg = $(this).is(":checked") ? "checked" : "unchecked";
$("#log").append("<p> " + msg + " : " + new Date() + "</p>");
});
$("#master").change(function() {
var toBeChanged = $(this).is(":checked")
? $(".minion").not(":checked")
: $(".minion").filter(":checked");
toBeChanged.click();
});
});
そして必須の jsfiddle: http://jsfiddle.net/hzcAF/
私はかなり困惑しています。</p>