【发布时间】:2014-10-11 21:48:22
【问题描述】:
我可以切换复选框的显示/隐藏,因为它可以取消选中,但单选组上的行为不同,因为单击选中的单选按钮不会取消选中它,只会单击同一组中的另一个单选按钮。
DEMO WORKS FOR CHECKBOX NOT RADIO GROUPS
如何修改它,使其适用于同一功能中的单选按钮和复选框?在此示例中,我可以单击 Item4,但它不会在单击单选组中的其他项时隐藏。
它应该如何工作: 将 data-info-id="infox" 放在输入上 将 id="infox" 放在容器上,通常是一个 div
欢迎使用 jQuery 解决方案。
HTML
<input type="checkbox" id="item1" data-info-id="info1" />
<label for="item1">Item 1 Checkbox</label>
<br/>
<div id="info1">Content checkbox group</div>
</p>
<input type="radio" id="jb1" name="jb" />
<label for="jb1">Item2 Radio</label>
<br/>
<input type="radio" id="jb2" name="jb" />
<label for="jb2">Item3 Radio</label>
<br/>
<input type="radio" id="jb3" name="jb" data-info-id="info2" />
<label for="jb3">Item4 Radio</label>
<br/>
<div id="info2">Content radio group</div>
CSS
[id^="info"] {
display: none;
}
JS
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 ? 'block' : 'none';
}
});
【问题讨论】:
标签: javascript jquery html css radiobuttonlist