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)
。有时候我很讨厌自己。
我在使用 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)
。有时候我很讨厌自己。