首页 > 解决方案 > 检查是否选中了组的任何单选按钮

问题描述

我正在使用这个 JS 代码来检查每行是否有任何单选按钮被选中。

<script type="text/javascript">
function validate_add_table_1()
{
    // maatv
    if (document.getElementsByName('maatv').checked = false) {
        document.getElementById('maatv_glyp').className = ""; }
    else {
        document.getElementById('maatv_glyp').className = "glyphicon glyphicon-ok"; }

    // lassen
    if (document.getElementsByName('lassen').checked = false) {
        document.getElementById('lassen_glyp').className = ""; }
    else {
        document.getElementById('lassen_glyp').className = "glyphicon glyphicon-ok"; }
}
</script>

出于某种原因,当我选择第一行时,JS 也在为第二行设置 OK 标志。

有什么建议么?

<tr>
    <td align="right"><?php echo $lang['maatv']; ?>:</td>
    <td align="center"><input onchange="validate_add_table_1()" type="radio" name="maatv" value="uitstekend"></td>
    <td align="center"><input onchange="validate_add_table_1()" type="radio" name="maatv" value="goed"></td>
    <td align="center"><input onchange="validate_add_table_1()" type="radio" name="maatv" value="voldoende"></td>
    <td align="center"><input onchange="validate_add_table_1()" type="radio" name="maatv" value="matig"></td>
    <td align="center"><input onchange="validate_add_table_1()" type="radio" name="maatv" value="slecht"></td>
    <td align="center"><input onchange="validate_add_table_1()" type="radio" name="maatv" value="nvt"></td>
    <td align="center"><span id="maatv_glyp" class="" style="color:green"></span></td>
</tr>
<tr>
    <td align="right"><?php echo $lang['lassen']; ?>:</td>
    <td align="center"><input onchange="validate_add_table_1()" type="radio" name="lassen" value="uitstekend"></td>
    <td align="center"><input onchange="validate_add_table_1()" type="radio" name="lassen" value="goed"></td>
    <td align="center"><input onchange="validate_add_table_1()" type="radio" name="lassen" value="voldoende"></td>
    <td align="center"><input onchange="validate_add_table_1()" type="radio" name="lassen" value="matig"></td>
    <td align="center"><input onchange="validate_add_table_1()" type="radio" name="lassen" value="slecht"></td>
    <td align="center"><input onchange="validate_add_table_1()" type="radio" name="lassen" value="nvt"></td>
    <td align="center"><span id="lassen_glyp" class="" style="color:green"></span></td>
</tr>

标签: javascripthtml

解决方案


那是因为你的 if 语句是错误的。

if (document.getElementsByName('lassen').checked == false) {

您需要将其与==进行比较

您正在使用 = 这就是为什么它总是会在两个 if 语句中进入 else 分支。


推荐阅读