【发布时间】:2016-12-21 09:26:41
【问题描述】:
我在检查具有相应名称的复选框时,我只尝试显示特定的div。
我目前有以下代码:
$(".checkbox").change(function () {
var checkbox = $(this).val();
if ($(".item").hasClass(checkbox)) {
if ($(this).is(":checked")) {
$(".item." + checkbox).show();
} else {
$(".item." + checkbox).hide();
}
}
});
上面的代码做了以下事情:当我选中一个名为“industry”的复选框时,它也会显示带有“.item .industry”类的div。然后,当我还选中名称为“office”的复选框时,它将显示所有 div 的类名称为“.industry”和“.office”(“.item .industry .office”)。
现在我还想添加一个名为“全部”的复选框。这是默认状态,需要显示所有具有“.item”类的 div。当检查其他一个复选框时,需要取消选中“全”并仅显示具有与选中复选框相同的div。我也希望这反过来工作。当一切都未选中时,它应该自动检查所有(否则不会显示 div)。
我自己尝试的是给所有的 .item div 一个额外的类('.all')。 all 复选框的值也为“all”,但由于某种原因,它无法正常工作。
【问题讨论】:
-
在这里查看您的 HTML 会有很大帮助。另外,请添加您尝试编写检查/取消选中所有逻辑的代码。目前您的问题是“为我编写代码”的边界
-
你可以通过 $(".item").each(function(){ // 你的代码 });其他东西显示html代码