【发布时间】:2017-01-02 03:25:35
【问题描述】:
在底部编辑
TL;DR 我不知道如何将类属性添加到没有我用复选框选择的类的所有 div。
我正在尝试为小型指南列表创建一个排序脚本。所以我的想法是我的 div 标签将附加描述类,例如:
<div class="guide-block WINDOWS UPDATE INSTALL">
“窗口、更新和安装”是“描述”类,仅用于排序目的。侧面带有复选框的列表将允许用户选择与他们需要查找的内容相关的复选框。示例:
<input type="checkbox" id="install"/>
<input type="checkbox" id="update"/>
<input type="checkbox" id="windows"/>
用户选择与他们的搜索相关的框,并且没有从复选框中选择的类的 div 然后将添加一个带有 display: none; 的类里面。这将使不相关的指南消失(理论上)。
我对 java 和 jquery 比较陌生,所以我不确定自己在做什么。我已经从该站点的其他类似问题中拼凑了脚本,以尝试制作我需要的代码。我已经得到了一些工作的代码。它会使具有匹配复选框的 div 在选中时消失。我想要相反的。我希望没有选中复选框的 div 消失。如果我有一个带有 UPDATE 和 INSTALL 的 div,我需要代码来识别它已经选择了一个并且仍然保留。因为现在,如果 div 两者都有,而我选择了一个,它就会消失,因为另一个没有被选中。
$(document).ready(function(){
$('#install').change(function () {
if (!this.checked)
$("div.guide-block.install").css("display", "block");
else
$("div.guide-block.install").css("display", "none");
});
$('#update').change(function () {
if (!this.checked)
$("div.guide-block.update").css("display", "block");
else
$("div.guide-block.update").css("display", "none");
});
$('#windows').change(function () {
if (!this.checked)
$("div.guide-block.windows").css("display", "block");
else
$("div.guide-block.windows").css("display", "none");
});
});
任何帮助将不胜感激。给我一个关于如何做的指南,无论如何。我愿意学习这个,但我用自己的知识碰壁,谷歌搜索不理解。虽然,我不确定我在寻找什么哈。
编辑:我已按照建议重写了代码。遗憾的是这不起作用,但我觉得我更接近了。
$('#install').change(function () {
if (this.checked) {
$('div.guide-block:not(.install)').hide();
}
});
【问题讨论】:
-
你能说清楚一点吗?这仍然令人困惑。
-
在顶部添加了 TL;DR
-
@Dakota:看我的回答
标签: jquery html css sorting checkbox