支柱2:复选框卡在选定位置



我正在开发一个用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)。有时我恨自己。

相关内容

  • 没有找到相关文章

最新更新