【发布时间】:2015-01-28 15:04:31
【问题描述】:
我正在尝试创建一段“缩小”代码以在电子商务网站上实施。这个想法是,通过选中/取消选中框,将向用户显示适合产品的链接。到目前为止,我的代码除了选中多个框然后取消选中它们不允许所有 div 重新出现之外。
function showMe (box) {
var chboxs = document.getElementsByName("c1");
var vis = "block";
for(var i=0;i<chboxs.length;i++) {
if(chboxs[i].checked){
vis = "none";
break;
}
}
var x = document.getElementsByClassName(box);
x[0].style.display = vis;
x[1].style.display = vis;
x[2].style.display = vis;
x[3].style.display = vis;
x[4].style.display = vis;
x[5].style.display = vis;
x[6].style.display = vis;
x[7].style.display = vis;
x[8].style.display = vis;
x[9].style.display = vis;
x[10].style.display = vis;
x[11].style.display = vis;
x[12].style.display = vis;
x[13].style.display = vis;
x[14].style.display = vis;
x[15].style.display = vis;
x[16].style.display = vis;
x[17].style.display = vis;
x[18].style.display = vis;
x[19].style.display = vis;
x[20].style.display = vis;
}
<h3 align="center">What Elcometer 456 is Right for You?</h3>
<form>
<input type="checkbox" name="c1" onclick="showMe('F')">Ferrous<br>
<input type="checkbox" name="c1" onclick="showMe('NF')">Non-Ferrous<br>
<input type="checkbox" name="c1" onclick="showMe('FNF')">Dual Ferrous/Non-Ferrous<br><br>
<input type="checkbox" name="c1" onclick="showMe('Scale1')">Range 0 - 60mils<br>
<input type="checkbox" name="c1" onclick="showMe('Scale2')">Range 0 - 200mils<br>
<input type="checkbox" name="c1" onclick="showMe('Scale3')">Range 0 - 500mils<br><br>
<input type="checkbox" name="c1" onclick="showMe('Integral')">Integral<br>
<input type="checkbox" name="c1" onclick="showMe('Separate')">Separate<br><br>
<input type="checkbox" name="c1" onclick="showMe('Elcomaster')">Includes Elcomaster Tech<br><br>
<div class="NF FNF Scale2 Scale3 Separate Elcomaster" style="display:block">Scale 1 Model E F</div>
<div class="F NF Scale2 Scale3 Separate Elcomaster" style="display:block">Scale 1 Model E FNF</div>
<div class="NF FNF Scale2 Scale3 Separate Elcomaster" style="display:block">Scale 1 Model B F</div>
<div class="F FNF Scale2 Scale3 Separate Elcomaster" style="display:block">Scale 1 Model B NF</div>
<div class="F NF Scale2 Scale3 Separate Elcomaster" style="display:block">Scale 1 Model B FNF</div>
<div class="NF FNF Scale1 Scale3 Separate Elcomaster" style="display:block">Scale 2 Model B F</div>
<div class="NF FNF Scale1 Scale2 Separate Elcomaster" style="display:block">Scale 3 Model B F</div>
<div class="NF FNF Scale2 Scale3 Separate" style="display:block">Scale 1 Model S F</div>
<div class="F NF Scale2 Scale3 Separate" style="display:block">Scale 1 Model S FNF</div>
<div class="NF FNF Scale2 Scale3 Separate" style="display:block">Scale 1 Model T F</div>
<div class="F NF Scale2 Scale3 Separate" style="display:block">Scale 1 Model T FNF</div>
<div class="NF FNF Scale2 Scale3 Integral Elcomaster" style="display:block">Model B F</div>
<div class="F FNF Scale2 Scale3 Integral Elcomaster" style="display:block">Model B NF</div>
<div class="F NF Scale2 Scale3 Integral Elcomaster" style="display:block">Model B FNF</div>
<div class="NF FNF Scale2 Scale3 Integral" style="display:block">Model S F</div>
<div class="F FNF Scale2 Scale3 Integral" style="display:block">Model S NF</div>
<div class="F NF Scale2 Scale3 Integral" style="display:block">Model S FNF</div>
<div class="NF FNF Scale2 Scale3 Integral" style="display:block">Model T F</div>
<div class="F FNF Scale2 Scale3 Integral" style="display:block">Model T NF</div>
<div class="F NF Scale2 Scale3 Integral" style="display:block">Model T FNF</div>
</form>
【问题讨论】:
-
为什么是 jQuery 标签?我没有看到。
-
当用户选中任何复选框,然后什么都没有显示时,这是正确的行为吗?
标签: javascript jquery checkbox show-hide