我正试图编写JavaScript代码,其中如果复选框被选中,单选按钮应该被填充。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
。同样,如果没有选中复选框,则应该选中无单选按钮。
到目前为止,我已经写了下面的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
。同样,如果没有选中复选框,则应该选中无单选按钮。
有人能帮我一下吗?
提前致谢!
@ 8protons我试图得到该的jsfiddle的URL。但它似乎并没有工作。在进行更改之前,它将转到以前的JSFiddle。 – user2201650
不用担心;我在回答中为你做了一个。 – 8protons
更新了我的答案。 – 8protons