首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >主复选框以选中/取消选中关联的DIV

主复选框以选中/取消选中关联的DIV
EN

Stack Overflow用户
提问于 2012-10-29 10:29:40
回答 3查看 1.1K关注 0票数 1

我需要帮助解决这个问题。

我有一种情况,我需要一个主复选框来选中/取消选中所有其他复选框。每个复选框都有一个关联的.hide类,所以当我在每个复选框中UNCHECk时,这将隐藏每个关联的内容div。

然后,如果我取消选中其中一个复选框,则必须不选中主复选框。

我已经创建了一个我在这里需要的例子- https://dl.dropbox.com/u/23044665/teste.html

有人能帮我吗?

提前谢谢

我的代码是:

jQuery

代码语言:javascript
复制
$(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

代码语言:javascript
复制
   .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;}

代码语言:javascript
复制
    <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>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-29 10:33:24

试用这个演示程序 http://jsfiddle.net/fzMLr/ 您的版本如下:http://jsfiddle.net/p6hFD/

更新:http://jsfiddle.net/KXcWv/3/

Rest应该有助于:)

我以前在这里的回答是:复选框选中所有选项

代码语言:javascript
复制
$('input[name="hulk"]').click(function(){

          $(this).nextAll('input[name="'+this.name+'Sub"]').prop('checked',this.checked);

});
​

样本

代码语言:javascript
复制
   $(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');
    });
});​
票数 0
EN

Stack Overflow用户

发布于 2012-10-29 10:44:38

试试这个:

代码语言:javascript
复制
    $('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可能想使用以下几种:

代码语言:javascript
复制
    $('input[type="checkbox"]').each(function () {
        if ($(this).attr("id") != "all" && $(this).attr("checked") == "checked") {          
            $("." + $(this).attr("id")).show();             
        }           
    });

在$(文档).ready中

票数 0
EN

Stack Overflow用户

发布于 2012-10-29 10:57:29

试试这个演示

代码语言:javascript
复制
$("#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();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13119821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档