目标是我有一对单选按钮,每对单选按钮插入一个带博客文章的div中。 I.E.每个帖子都可以被喜欢(开启)/不喜欢(关闭)。然后,复选标记用作所有喜欢/不喜欢帖子的通用开关。下面的代码只是一个原型,但我确实想添加第二个复选框,让用户隐藏所有喜欢的内容,隐藏所有不喜欢的内容,隐藏两者(看看哪些尚未决定)或者没有。
在下面的代码中,我无法使复选框独立于单选按钮。实际上,选中此框会将单选按钮切换为开。我希望单选按钮保留在用户想要的位置,当选中该框时,只有IF收音机打开,隐藏的消息显示。如果收音机处于关闭状态,则选中此框将不会产生任何结果。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-NZ">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Unhide on checkboxes/radio buttons</title>
<script type="text/javascript">
function toggleLayer(val)
{
if(val == 'on' || val === true)
{
document.getElementById('a1').checked = true;
document.getElementById('layer1').style.display = 'block';
}
else if(val == 'off' || val === false)
{
document.getElementById('a2').checked = true;
document.getElementById('layer1').style.display = 'none';
}
}
</script>
</head>
<body>
<form action="" method="post">
<fieldset>
<legend>Unhide Layer Form</legend>
<ul>
<li><label for="a1">On</label> <input id="a1" name="switcher" type="radio" value="off" checked="checked" onclick="toggleLayer(this.checked);" /> <label for="a2">Off</label> <input id="a2" name="switcher" type="radio" value="off" onclick="toggleLayer(!this.checked);" /></li>
<li><label for="b1">Check Me:</label> <input id="b1" name="b1" type="checkbox" value="off" checked="checked" onclick="toggleLayer(this.checked);" /></li>
</ul>
</fieldset>
</form>
<div id="layer1">You can now see this.</div>
</body>
</html>
所以,有人可以帮我修改这段代码:
答案 0 :(得分:-1)
首先,您应该知道强烈建议使用框架。例如。看看jQuery。示例:您可以开始用$(char)替换“document.getElementById”。这使您可以专注于解决问题,而不是如何做到(关键字,浏览器支持等)。