【发布时间】:2016-08-22 09:24:15
【问题描述】:
我正在尝试编写 JavaScript 代码,如果选中复选框,则应在其中填充单选按钮。
以下是 HTML 代码:
<form>
<h3>Radio Buttons</h3>
<input type="radio" name="radio1" id="radio1"> Radio 1
<br>
<input type="radio" name="radio2" id="radio2">Radio 2
<br>
<br>
<h3>Checkbox Groups</h3>
<h4><u>Group 1</u></h4>
<p align="center"><u>PD</u></p>
<ul>
<li>
<input id="pdcb" type="checkbox" name="G1PD1" onclick="validate()">G1 PD1</li>
<li>
<input id="pdcb" type="checkbox" name="G1PD2" onclick="validate()">G1 PD2</li>
</ul>
<p align="center"><u>ID</u></p>
<ul>
<li>
<input id="idcb" type="checkbox" name="G1ID1" onclick="validate()">G1 ID1</li>
<li>
<input id="idcb" type="checkbox" name="G1ID2" onclick="validate()">G1 ID2</li>
</ul>
<h4><u>Group 2</u></h4>
<p align="center"><u>PD</u></p>
<ul>
<li>
<input id="pdcb" type="checkbox" name="G2PD1" onclick="validate()">G2 PD1</li>
<li>
<input id="pdcb" type="checkbox" name="G2PD2" onclick="validate()">G2 PD2</li>
</ul>
<p align="center"><u>ID</u></p>
<ul>
<li>
<input id="idcb" type="checkbox" name="G2ID1" onclick="validate()">G2 ID1</li>
<li>
<input id="idcb" type="checkbox" name="G2ID2" onclick="validate()">G2 ID2</li>
</ul>
</form>
这就是我希望 JavaScript 执行的操作:如果选中了任何 PD 复选框,则应该选中单选按钮 Radio 1。如果没有选中任何PD 复选框,则应选中单选按钮Radio 2。同样,如果没有选中任何复选框,则应选择 NONE 单选按钮。
到目前为止,我已经编写了以下 JS 代码:
function validate()
{
if(document.getElementById("pdcb").checked) //if pdcb checkbox(es) is/are checked
{
document.getElementById("radio1").checked = true;
document.getElementById("radio2").checked = false;
}
else if (!document.getElementById("pdcb").checked) //if none of the pdcb checkbox(es) is/are checked
{
document.getElementById("radio1").checked = false;
document.getElementById("radio2").checked = true;
}
else //if no checkbox is checked, then don't populate any radio button
{
document.getElementById("radio1").checked = false;
document.getElementById("radio2").checked = false;
}
}
PS:我需要纯 JavaScript 的代码。我不能使用 jQuery。
编辑
对于我的要求有误,我深表歉意。但这是正确的要求。如果选中任何PD 复选框,则应选中单选按钮Radio 1。如果没有选中任何PD 复选框,则应选中单选按钮Radio 2。同样,如果没有选中任何复选框,则应选择 NONE 单选按钮。
【问题讨论】:
-
@8protons 我正在尝试获取 JSFiddle 的 URL。但这似乎不起作用。在进行更改之前,它将转到上一个 JSFiddle。
-
不用担心;我在回答中为你做了一个。
-
更新了我的答案。
标签: javascript html checkbox radio-button