我需要帮助解决这个问题。
我有一种情况,我需要一个主复选框来选中/取消选中所有其他复选框。每个复选框都有一个关联的.hide类,所以当我在每个复选框中UNCHECk时,这将隐藏每个关联的内容div。
然后,如果我取消选中其中一个复选框,则必须不选中主复选框。
我已经创建了一个我在这里需要的例子- https://dl.dropbox.com/u/23044665/teste.html
有人能帮我吗?
提前谢谢
我的代码是:
jQuery
$(document).ready(function(){
$("#overlay-1").change(function() {
$(".overlay-1").toggleClass("hide", this.unchecked)
}).change();
$("#overlay-2").change(function() {
$(".overlay-2").toggleClass("hide", this.unchecked)
}).change();
$("#overlay-3").change(function() {
$(".overlay-3").toggleClass("hide", this.unchecked)
}).change();
});CSS
.hide {display:none;}
.overlay-1 {background-color:#333; color:#FFF;}
.overlay-2 {background-color:#666; color:#FFF;}
.overlay-3 {background-color:#999; color:#FFF;}
.overlay-1, .overlay-2, .overlay-3 { padding:20px; margin-top:20px;} <div id="nav">
<input type="checkbox" class="all" id="all" checked="checked"/> Check/Uncheck all<br />
<input type="checkbox" name="overlay-1" id="overlay-1" checked="checked"> Overlay 1 <br/>
<input type="checkbox" name="overlay-2" id="overlay-2" checked="checked"> Overlay 2 <br/>
<input type="checkbox" name="overlay-3" id="overlay-3" checked="checked"> Overlay 3 <br/>
</div>
<div class="overlay-1">Overlay 1 Content</div>
<div class="overlay-2">Overlay 2 Content</div>
<div class="overlay-3">Overlay 3 Content</div>发布于 2012-10-29 10:33:24
试用这个演示程序 http://jsfiddle.net/fzMLr/ 或您的版本如下:http://jsfiddle.net/p6hFD/
更新:http://jsfiddle.net/KXcWv/3/
Rest应该有助于:)
我以前在这里的回答是:复选框选中所有选项
码
$('input[name="hulk"]').click(function(){
$(this).nextAll('input[name="'+this.name+'Sub"]').prop('checked',this.checked);
});
样本
$(document).ready(function() {
$hulk = $("#overlay-1,#overlay-2,#overlay-3");
$hulk.change(function() {
$("." + this.id).toggleClass("hide", !this.checked);
if ($('.test:checked').length == $hulk.length)
$('.all').prop('checked', true);
else $('.all').prop('checked', false);
});
$('.all').click(function() {
$(this).nextAll('input[type=checkbox]').prop('checked', this.checked);
$hulk.trigger('change');
});
});发布于 2012-10-29 10:44:38
试试这个:
$('input[type="checkbox"]').change(function () {
if ($(this).attr("id") != "all" && $(this).attr("checked") != "checked") {
$("#all").attr("checked", false);
}
});
$("#all").change(function () {
var check = $("#all").attr("checked") == "checked" ? true : false;
$('input[type="checkbox"]').each(function () {
if ($(this).attr("id") != "all") {
$(this).attr("checked", check);
}
});
})为了显示所有的div可能想使用以下几种:
$('input[type="checkbox"]').each(function () {
if ($(this).attr("id") != "all" && $(this).attr("checked") == "checked") {
$("." + $(this).attr("id")).show();
}
});在$(文档).ready中
发布于 2012-10-29 10:57:29
试试这个演示
$("#overlay-1").change(function() {
$(".overlay-1").toggleClass("hide", this.unchecked)
}).change();
$("#overlay-2").change(function() {
$(".overlay-2").toggleClass("hide", this.unchecked)
}).change();
$("#overlay-3").change(function() {
$(".overlay-3").toggleClass("hide", this.unchecked)
}).change();
$('#all').change(function(){
$('div[class|="overlay"]').toggleClass("hide");
var is_checked = $("#all").attr("checked") == "checked" ? true : false;
$('input:checkbox').attr("checked", is_checked);
}).change();https://stackoverflow.com/questions/13119821
复制相似问题