当我点击radion按钮时,它总是检查。我无法取消选中radion按钮并尝试How to check/uncheck radio button on click?此链接。
问题
我只能检查一次,一旦我点击取消选中它总是取消选中无法正常工作 代码
<input value='' type='radio' id='one' onClick="getCurrentLocation()"/>
$('input[type=radio]').click(function(){
if (this.previous) {
this.checked = false;
}
this.previous = this.checked;
});
答案 0 :(得分:1)
最简单的方法是使用相同的name
属性input
。
示例:
<input name="myname" value='' type='radio' id='one' onClick="getCurrentLocation()"/>
<input name="myname" value='' type='radio' id='two' onClick="getCurrentLocation()"/>
<强> DEMO 强>
由于您需要一次单独检查,因此最好使用复选框。
<input name="myname" value='' type='checkbox' id='one' onClick="getCurrentLocation()"/>
<input name="myname" value='' type='checkbox' id='two' onClick="getCurrentLocation()"/>
答案 1 :(得分:1)
这是你唯一的单选按钮吗?
开发单选按钮是为了保持一组可能的状态。
因此,如果只有一个单选按钮 - 请使用复选框进行更改。
如果您有多个选项 - 请选择一个默认选项以取消选中当前选中的内容。 但是如果你点击该套装中的另一个收音机,它将被检查而不需要特殊的代码。
(据我记得,没有办法在鼠标点击它的情况下取消选中浏览器中的单选按钮,所以我不希望脚本中出现这样的行为)
对于复选框,您无需特殊代码即可在点击时取消选中 - 这是所有浏览器中默认行为的唯一行为!
如果它只是一个dessign问题,那么你可以使用IMG的空和已选中的单选按钮,并点击更改图像。在这种情况下,您可以将状态保持在隐藏的输入字段中。
但这会让你的用户感到困惑......
答案 2 :(得分:0)
这就是他们的工作方式。单选按钮应该是用户分组,您可以在其中进行选择。如果您想要一个可以切换的按钮,请使用复选框。
如果您尝试使用单选按钮模仿复选框,则只会让用户感到困惑。
答案 3 :(得分:0)
试试这个,
标记:
<input value='' type='radio' id='one' onClick="getCurrentLocation()"/>
jQuery的,
var flag = 0;
$('input[type=radio]').click(function(){
if(flag === 0)
{
$(this).prop('checked', true);
flag = 1;
}
else if(flag == 1)
{
$(this).prop('checked', false);
flag = 0;
}
});
由于您使用id
并且只有一个单选按钮直接调用它,因此您无需使用this
虽然,我建议你像其他人一样使用checkbox
。