我有一堆复选框,然后这个“主”复选框将取消选中,或者如果选中则将它们全部选中。很常见的 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>