切换两个隐藏的单选按钮的最佳方法是什么?

时间:2012-07-29 15:19:46

标签: javascript jquery html

我有两个隐藏的单选按钮和一个可见按钮。单击此按钮应切换选中的按钮。

我可以使用if语句实现这一点,只需设置单选按钮(ID)=已选中。

但是如何用最少量的代码实现这一目标呢?

更新
要满足那些没有更好的事情,而不是抱怨丢失代码。尽管如此,我不知道这会如何使问题更加constructive

<div class="switch">
    <input id="check1" type="radio" name="search" class="rbtn-search" checked="checked" value="brand" />
    <input id="check2" type="radio" name="search" class="rbtn-search" checked="" value="store" />
</div>


$('.switch').click(function(){
  // Switch the radio buttons here
})

4 个答案:

答案 0 :(得分:2)

请参阅DEMO

<强> HTML

<div id="container">
  ​<input type="radio" checked="checked">
  <input type="radio">
  <a class="button" href="#">button</a>
</div>

<强>的JavaScript

$('#container .button').click(function () {
    $('#container :radio').each(function () {
      $(this).attr('checked', !$(this).attr('checked'));
    });
});​

答案 1 :(得分:2)

你可以使用map:

 <input type="radio" checked="checked">
 <input type="radio">
 <a id="btn">I'm a bbutton</a>​


jQuery("#btn").click(function() {
    jQuery(":radio").map(function() { this.checked = !this.checked; });        
});​

Fiddle

答案 2 :(得分:0)

$("#toggle").click(function(){
    $(':radio').each(function(){
        $(this).attr('checked', !$(this).attr('checked'));
    })
});

答案 3 :(得分:0)

你可以试试;

$('#button').click(function () {
    $(':radio').each(function () {
        $(this).attr('checked', !$(':radio').attr('checked'));
    });
});

以下是工作 fiddle

或者这样使用类;

$('#button').click(function () {
    $('.radiobtn').each(function () {
        $(this).attr('checked', !$('.radiobtn').attr('checked'));
    });
});

这是工作fiddle