首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选中时使用多个复选框显示/隐藏多个分区

选中时使用多个复选框显示/隐藏多个分区
EN

Stack Overflow用户
提问于 2019-01-25 07:57:48
回答 1查看 1.2K关注 0票数 1

我试图使用多个复选框显示/隐藏多个div。也就是说,如果选中复选框,则必须使用id或name将div作为目标,并隐藏div内容。

尝试了以下工作,但未能达到所需的目标

代码语言:javascript
复制
<form id="varsection">
    <div class="panel box box-primary">
        <div id="controlledvariables" class="panel-collapse collapse" aria-expanded="false" style="height: 0px;">
            <div class="box-body">
                <div class="col-md-9">
                    <div class="row secrow">Wave</div>
                    <div class="row secrow">Gender</div>
                </div>
                <div class="col-md-1">
                    //if input name="Wave[]" is selected then
                    <div class="row secrow" style="text-align: center;">
                        <input type="checkbox" name="Wave[]" value="top">
                    </div>
                    <div class="row secrow" style="text-align: center;">
                        <input type="checkbox" name="Gender[]" value="top">
                    </div>
                </div>
            </div>
        </div>
    </div>
</form>
<form id="filters">
    <div>
        //show this div
        <div class="panel box box-primary">
            <div class="box-header with-border">
                <h4 class="box-title">
                    <a data-toggle="collapse" data-parent="#accordion" href="#Wave" aria-expanded="false" class="collapsed">
                    Wave
                    </a>
                </h4>
            </div>
            <div id="Wave" class="panel-collapse collapse" aria-expanded="false" style="height: 0px;">
                <div class="box-body">
                    <div class="col-md-8">
                    </div>
                    <div class="col-md-4">
                        //or this one
                        <ul>
                            <li><input type="checkbox"  name="Wave_fiters[]" value="1">Wave-1</li>
                            <li><input type="checkbox" name="Wave_fiters[]" value="2">Wave-2</li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>
        [Other multiple div's]
    </div>
</form>

jQuery

代码语言:javascript
复制
jQuery(function() {
    var checks = $("[name='_Wave[]']");
    checks.click(function() {
        if (checks.filter(':checked').length == checks.length) {
            $("[name='_Wave[]']").show();
        } else {
            $("[name='_Wave[]']").hide();
        }
    }).triggerHandler('click')
})
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-25 08:17:12

这段代码有两个问题:

首先,jquery选择器是错误的,应该是这样的:

代码语言:javascript
复制
var checks = $("[name='Wave[]']");

_

其次,您需要给出要切换唯一id或类名的div。

所以你的代码应该是这样

代码语言:javascript
复制
    jQuery(function () {
        var checks = $("[name='Wave[]']");
        checks.click(function () {
            if (checks.filter(':checked').length == checks.length) {
                $(".waveDiv").show();
            } else {
                $(".waveDiv").hide();
            }
        }).triggerHandler('click')
    })

这是你的意见:

代码语言:javascript
复制
<input type="checkbox" name="Wave[]" value="top">

你的护身符是:

代码语言:javascript
复制
<div class="waveDiv panel box box-primary">
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54361109

复制
相关文章

相似问题

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