是否可以在JSP中取消选择单选按钮(如复选框)?
我有一个带有单选按钮的表格的页面。如果我在选定的收音机上单击它,我想取消选择单选按钮。这是代码
<tr>
<TD><INPUT type="radio" name="Radios" value="someValue"></td>
<TD>someValue</td>
</tr>
提前致谢。
答案 0 :(得分:0)
您可以使用Javascript设置/切换值为checked
的属性"checked"
(按钮被选中)或基于鼠标的""
(空stinrg =按钮未被选中)点击活动。这是reference doc about radio buttons。
请记住,一次只能选择一个组中的一个单选按钮。
答案 1 :(得分:0)
试试这个javascript代码:
var firstClick = true;
function tick(element){
if(!firstClick){
if(element.checked){
element.checked = false;
firstClick = true;
}
}else{
firstClick = false;
}
}
然后添加onclick属性
<tr>
<TD><INPUT type="radio" name="Radios" value="someValue" onclick="tick(this);"></td>
<TD>someValue</td>
</tr>
注意:未经测试。但这应该有用。
答案 2 :(得分:0)
问题是在onclick处理程序运行之前点击后立即检查未选中的按钮。因此,即使在用户单击按钮之前未选中该按钮,也会在启动处理程序时检查该按钮。所以下面的代码不起作用。
function toggle(e)
{
e.checked = !e.checked;
}
所以有一个技巧可以避免这个问题。我们只需添加一个字段来计算点击次数。
function toggleRadioButton(e)
{
if(e.parity==undefined)
{
e.parity = false;
}
e.parity = !e.parity;
e.checked = e.parity;
//Fix parity of other buttons of this group which are unchecked automatically
if(e.checked)
{
var buttonsInGroup = document.getElementsByName(e.name);
for(var i=0; i<buttonsInGroup.length; i++)
{
if(buttonsInGroup[i]!=e)
{
buttonsInGroup[i].parity = false;
}
}
}
}
HTML部分将具有标准的onclick处理程序:
<INPUT type="radio" name="Radios" value="someValue" onclick="toggleRadioButton(this)"/>
但是,以编程方式更改按钮状态时可能存在一些完整性问题。我真的不喜欢这段代码,但没有看到任何其他解决方案。
最后我的建议是不要以这种奇怪的方式使用单选按钮:)。