我正在使用以下代码来测试“是否”在页面加载时选中了复选框。如果是,则将显示某个附加字段(称为 myfield):
<style>
#myfield {
display: none;
}
</style>
<input type="checkbox" id="mycheckbox" name="mycheckbox" />
<input type='text' id='myfield' name='myfield' />
<script>
if ($("#mycheckbox").is(":checked")) {
document.getElementById("id").style.display="block";
}
</script>
但是,这仅在页面加载并且复选框已被选中时才有效。如果在页面加载时未选中该框,则它无法实时工作,然后您单击该框。我希望在“选中”框时立即显示隐藏字段,而无需重新加载页面。然后,当未选中该框时,我希望 myfield 立即隐藏。
任何人都可以指出更好/正确的方法吗?
此外:
注意:我确实知道如何在 CSS 中使用标签来做到这一点,但其他时候我需要使用 javascript。
以下是仅使用 CSS 在现代浏览器中运行良好的方法:http: //jsfiddle.net/3KTC3/
这是仅 CSS 的 jsfiddle 代码:
<style type="text/css">
.label-for-check {
display:none;
}
.check-with-label:checked + .label-for-check {
display:block;
}
</style>
<div>
<input type="checkbox" id="check" class="check-with-label" />
<label for="check" class="label-for-check">
<br /><br />MyField<br />
<input type='text' id='myfield' name='myfield' size='10' />
</label>
<div>