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