Struts2:复选框被选中

Struts2: checkbox stuck as selected

我在使用 Struts2 制作的网站上工作,但我遇到了复选框问题。

我有一个包含公司列表的下拉菜单。如果用户没有在列表中找到他的公司,他可以单击复选框以用文本字段替换下拉列表。这是代码:

JSP 的摘录:

<tr>
    <td align="right" width="49%">
        <table>
            <sj:select id="company_select" name="company_select" list="company_list" .../>
        </table>
    </td>
    <td colspan="2" align="left">
        <table>
            <s:hidden name="company_text" id="company_text" label="Company Type" disabled="true"/>
        </table>
    </td>
</tr>
<tr>
    <td align=left>
        <s:checkbox name="checkboxCompanyText" id="checkboxCompanyText" label="Company Not in the List"
                                            fieldValue="false" onchange="showCompanyText()"/>
    </td>
    <td></td>
</tr>

JS函数:

function showCompanyText() {
        if(document.querySelector('#checkboxCompanyText').checked = "true") {
            document.getElementById('company_text').type = "visible";
            document.getElementById('company_text').disabled = false;
            document.getElementById('company_select').style.display = "none";
        }else{
            document.getElementById('company_text').type = "hidden";
            document.getElementById('company_text').disabled = true;
            document.getElementById('company_select').style.display = "block";
        }
    }

页面加载时,复选框未选中,下拉菜单位于此处,文本输入字段不可见。好的。当我选中该复选框时,下拉菜单消失并出现文本字段。再次:好。但是当我尝试取消选中该复选框时,它只是保持选中状态,无法取消选中它。

如果有人知道发生了什么,欢迎你。

有时,您的错误非常明显,以至于您没有看到。我真诚地花了几分钟查看代码,试图弄清楚发生了什么。原来解决方案是将 if(document.querySelector('#checkboxCompanyText').checked = "true") 转换为 if(document.querySelector('#checkboxCompanyText').checked === true)。有时候我很讨厌自己。