【发布时间】:2014-05-07 07:43:54
【问题描述】:
显然,可以按照您想要的任何顺序选择复选框,但我遇到了这个中断的问题。当我按以下顺序选择时,无法显示复选框 C:A-D-C 或 D-A-C。如果您选择按顺序或反向顺序,它可以正常工作,并且由于某种原因它总是在 Firefox 中工作。你可以查看这个异常Click here for weird fiddle。
这是为什么?我该如何解决?
HTML
<input type="checkbox" id="Abox" data-info-id="infoa">
<label for="Abox"> Checkbox A</label><BR>
<input type="checkbox" id="Bbox" data-info-id="infob">
<label for="Bbox"> Checkbox B</label><BR>
<input type="checkbox" id="Cbox" data-info-id="infoc">
<label for="Cbox"> Checkbox C</label><BR>
<input type="checkbox" id="Dbox" data-info-id="infod">
<label for="Dbox"> Checkbox D</label><BR>
CHECK AN ITEM ABOVE IT SHOULD APPEAR BELOW<P>
<div style="background-color:silver;">
<div id="infoa">
<input type="checkbox" id="kwd2" >
<label for="kwd2"> ALPHA</label><BR>
</div>
<div id="infob">
<input type="checkbox" id="fff1">
<label for="fff1"> BETA</label><BR>
</div>
<div id="infoc">
<input type="checkbox" id="zzz3">
<label for="zzz3"> CHARLIE</label><BR>
</div>
<div id="infod">
<input type="checkbox" id="kwd5" >
<label for="kwd5"> DELTA</label><BR>
</div>
</div>
JAVASCRIPT
document.addEventListener('change', function(e) {
var id = e.target.getAttribute('data-info-id');
var checked = e.target.checked;
if (id) {
var div = document.getElementById(id);
if (div) div.style.display = checked ? 'inline' : 'none';
alert("bang");
}
});
CSS
[id^="info"] {
display: none;
}
【问题讨论】:
-
你的问题是?
-
data-info- id="infoc"错字? -
您的 div 中也缺少这些“
-
错字已修复,但仍然损坏,请参阅小提琴。
-
它会在您调整结果窗口大小时出现。怪异的。
标签: javascript html css checkbox