gpt4 book ai didi

javascript - 显示/隐藏 Div 的多个复选框

转载 作者:行者123 更新时间:2023-11-29 18:07:16 25 4
gpt4 key购买 nike

我正在努力寻找一种方法来拥有多个可以显示或隐藏 div 的复选框。基本上,我不希望每个单独的框都有更改功能。我想象有一种方法可以创建传递值等的函数,但我无法通过复选框来解决。

JS Fiddle Link

<form>
<label>Show Boxes</label>
<br>
<input class="one-box" type="checkbox" name="boxes" value="one" checked>First
<input class="two-box" type="checkbox" name="boxes" value="two" checked>Second
<input class="three-box" type="checkbox" name="boxes" value="three" checked>Third
<input class="four-box" type="checkbox" name="boxes" value="four" checked>Fourth</form>
<div class="one"></div>
<div class="two"></div>
<div class="three"></div>
<div class="four"></div>

div {
width: 300px;
height: 100px;
}
.one {
background: red;
}
.two {
background: green;
}
.three {
background: blue;
}
.four {
background: black;
}
.hide {
display: none;
}

$('.one-box').change(function () {
$('.one').toggleClass('hide');
});

$('.two-box').change(function () {
$('.two').toggleClass('hide');
});

$('.three-box').change(function () {
$('.three').toggleClass('hide');
});

$('.four-box').change(function () {
$('.four').toggleClass('hide');
});

最佳答案

您可以通过执行以下操作将其压缩到一条语句中:

1) 在复选框上添加一个带有颜色的数据属性:

<input type="checkbox" ... data-target=".one">

2) 添加如下全局处理程序:

//Or, change all of the boxes to just .box, and use that below
$('.one-box,.two-box,.three-box,.four-box').change(function () {
var target = $(this).data("target");
$(target).toggleClass('hide');
});

关于javascript - 显示/隐藏 Div 的多个复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30322280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com