Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这是一个更聪明的方法_Javascript_Jquery_Html - Fatal编程技术网

Javascript 这是一个更聪明的方法

Javascript 这是一个更聪明的方法,javascript,jquery,html,Javascript,Jquery,Html,我有这个代码,用户可以点击某些复选框,根据他们的输入,他们会得到一个带有各种答案的输出 我对JavaScript非常陌生,所以我只是想深入了解一些案例,以便学习。我非常确信有一种更聪明的方法来编写这个JS代码,但我不知道该怎么做 我不希望您必须以正确的方式执行代码,但请告诉我应该朝着什么方向“正确”执行 .隐藏{ display:none;//添加此属性 } Hvilken bolig bor du i 埃吉特·胡斯/rækkehus 莱杰特·胡斯/rækkehus Ejer-/lejet

我有这个代码,用户可以点击某些复选框,根据他们的输入,他们会得到一个带有各种答案的输出

我对JavaScript非常陌生,所以我只是想深入了解一些案例,以便学习。我非常确信有一种更聪明的方法来编写这个JS代码,但我不知道该怎么做

我不希望您必须以正确的方式执行代码,但请告诉我应该朝着什么方向“正确”执行


.隐藏{
display:none;//添加此属性
}
Hvilken bolig bor du i

埃吉特·胡斯/rækkehus 莱杰特·胡斯/rækkehus Ejer-/lejet lejlighed 弗里德萨斯
您喜欢什么颜色

赫梅梅本德·伯恩 乌德博恩德·伯恩
Hvilket transportmidler har du

比尔 摩托车 克纳勒特 赛克尔
这是第一个盒子

这是第二个盒子

这是第三个盒子

这是第四个盒子

这是第五个盒子

这是第六个盒子

这是第六个盒子

这是第六个盒子

这是第六个盒子

这是第六个盒子

$(函数(){ $('.decider').removeClass('hide'); $('.egetHus、.lejetHus、.lejlighed、.fritidshus、.hjemmebendeboern、.udebendeboern、.bil、.motorcykel、.knallert、.cykel')。addClass('hide');//将hide添加到这两个类中 $(“#发送决定”)。单击(函数(){ if($('input[type=“checkbox”]:checked')。长度){ $('.decider').addClass('hide'); 如果($('#egeths')。是(':checked')){ $('.egetus').removeClass('hide'); } 如果($('#lejetHus')。是(':checked')){ $('.lejetHus').removeClass('hide'); } 如果($(“#lejlighed”)。是(“:选中”){ $('.lejlighed').removeClass('hide'); } 如果($('#fritidshus')。是(':checked')){ $('.fritidshus').removeClass('hide'); } 如果($('#hjemmebendeboern')。是(':checked')){ $('.hjembebendbeorn').removeClass('hide'); } 如果($('udeboendeBoern')。是(':选中的')){ $('.udeboEndebeorn').removeClass('hide'); } 如果($('#bil')。是(':checked')){ $('.bil').removeClass('hide'); } 如果($(“#摩托车”)。是(“:选中”){ $('.motorcykel').removeClass('hide'); } 如果($('#knallert')。是(':checked')){ $('.knallert').removeClass('hide'); } 如果($('#cykel')。是(':checked')){ $('.cykel').removeClass('hide'); } }否则 警报(“选中复选框”); }); });
您可以用以下代码替换所有
if-else
语句

$('input[type="checkbox"]:checked').each(function(index, el) {
    $('.' + el.id).removeClass('hide')
});

这将起作用,因为每个复选框的id和对应的p的类都是相同的。

我将这部分做得比较干净和简单。如果o/p不正确,请尝试并评论

$(函数(){
var arr=[
“埃格瑟斯”,
"列耶瑟斯",,
“lejlighed”,
“fritidshus”,
“Hjemmebendeboern”,
“udeboendeBoern”,
“比尔”,
“摩托车”,
“克纳勒特”,
“赛克尔”
];
$('.decider').removeClass('hide');
$。每个(arr、功能(键、元素){
$('..+elem).addClass('hide');//将hide添加到两个类中
});
$(“#发送决定”)。单击(函数(){
if($('input[type=“checkbox”]:checked')。长度){
$('.decider').addClass('hide');
$。每个(arr、功能(键、元素){
if($('#'+elem).prop('checked')==true){
$('..+elem).removeClass('hide');
}
});
}否则
警报(“选中复选框”);
});
});
.hide{
display:none;//添加此属性
}

Hvilken bolig bor du i

埃吉特·胡斯/rækkehus 莱杰特·胡斯/rækkehus Ejer-/lejet lejlighed 弗里德萨斯
您喜欢什么颜色

赫梅梅本德·伯恩 乌德博恩德·伯恩
Hvilket transportmidler har du

比尔 摩托车 克纳勒特 赛克尔
这是第一个盒子

这是第二个盒子

这是第三个盒子

这是第四个盒子

这是第五个盒子

这是第六个盒子

这是第六个盒子

这是第六个盒子

这是第六个盒子

这是第六个盒子


结果应该是什么,因为它似乎没有给出准确的结果?如果没有HTML说明五个不同的复选框都是第六个框,那么可能更容易计算出来。如果只有复选框,@RubenVardanyan给出的答案会更好。你应该试一试。