-1

嗨,当我单击单选按钮时,它总是选中。我无法取消选中正在搜索的单选按钮并尝试如何在单击时选中/取消选中单选按钮?这个链接。

问题

我只能检查一次,一旦我单击取消选中它总是取消选中无法正常工作代码

  <input value='' type='radio' id='one' onClick="getCurrentLocation()"/>

   $('input[type=radio]').click(function(){

    if (this.previous) {
        this.checked = false;
    }
    this.previous = this.checked;
});
4

4 回答 4

1

最简单的方法是使用相同的name属性input

例子:

<input name="myname" value='' type='radio' id='one' onClick="getCurrentLocation()"/>
<input name="myname" value='' type='radio' id='two' onClick="getCurrentLocation()"/>

演示

由于您一次需要单个检查,因此最好使用复选框。

<input name="myname" value='' type='checkbox' id='one' onClick="getCurrentLocation()"/>
<input name="myname" value='' type='checkbox' id='two' onClick="getCurrentLocation()"/>
于 2012-05-26T07:10:55.450 回答
1

它是您唯一的单选按钮吗?

已开发单选按钮以保留集合中的一种可能状态。

因此,如果只有一个单选按钮 - 使用复选框更改它。

如果您有几个 - 选择一些默认的取消选中当前选中。 但是,如果您单击集合中的另一个收音机,它将被选中,而无需特殊代码。

(据我记得,没有办法通过鼠标单击取消选中浏览器中的单选按钮,所以我不希望脚本也会出现这种行为)

对于复选框,您不需要特殊代码即可在单击时取消选中它 - 这是所有浏览器中它们的默认行为!

如果只是设计问题,那么您可以使用空白和选中单选按钮的 IMG,然后单击更改图像。在这种情况下,您可以将您的状态保存在隐藏的输入字段中。

但这会让您的用户感到困惑......

于 2012-05-26T07:14:39.470 回答
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;        
    }

});

​</p>

由于您使用的是id并且只有一个单选按钮直接调用它,因此您不需要使用this

虽然,我建议您checkbox像其他人一样使用。

演示

于 2012-05-26T07:54:48.140 回答
0

他们就是这样工作的。单选按钮应该是组中的用户,您可以在其中进行选择。如果您想要一个可以切换的按钮,请使用复选框。

如果您尝试使用单选按钮来模仿复选框,您只会让用户感到困惑。

于 2012-05-26T07:13:14.963 回答