4

如果按钮已选中,我需要帮助取消选中或选中相同的单选按钮吗?我有用于启用或禁用其他单选按钮的 jquery 功能,如果现在已经选中我想添加一些用于检查或取消选中相同单选按钮的功能?

(function ($) {
  $(document).ready(function () {
    $('input:radio').click(function(){
      var $inputs = $('input:radio')

      if($(this).is(':checked')){
        $inputs.not(this).prop('disabled',true);
      }else{
        $inputs.prop('disabled',false); 
      }
    })

  });
})(jQuery);

<input type="radio" value="Test1" />Test1
<input type="radio" value="Test2" />Test2
<input type="radio" value="Test1" />Test1
<input type="radio" value="Test2" />Test2
4

5 回答 5

5

虽然现在回答为时已晚,但它可以帮助
我尝试过这个解决方案的其他人。
对我来说效果很好!

$("input[type='radio'].myClass").click(function(){
        var $self = $(this);
        if ($self.attr('checkstate') == 'true')
        {
            $self.prop('checked', false);
            $self.each( function() {
                $self.attr('checkstate', 'false');
            })  
        }
        else
        {
            $self.prop('checked', true);
            $self.attr('checkstate', 'true');
            $("input[type='radio'].myClass:not(:checked)").attr('checkstate', 'false');
        }
})
于 2018-10-02T04:46:17.670 回答
2

只需替换disabledchecked

$input.prop("checked", false);

this元素:

this.checked = false;

但是,如果您正在寻找可以选中和不选中的表单元素,也许input type="checkbox" />就是您所需要的。

于 2013-04-17T09:02:31.377 回答
0
$inputs.filter(':checked').prop('checked', false);
于 2013-04-17T09:03:47.320 回答
0

我认为您需要复选框而不是单选按钮来取消选中选中:

<input class="checkDisable" type="checkbox" value="Test1" />Test1
<input class="checkDisable" type="checkbox" value="Test2" />Test2
<input class="checkDisable" type="checkbox" value="Test3" />Test3
<input class="checkDisable" type="checkbox" value="Test4" />Test4


(function ($) {
$(document).ready(function () {
 $('input:checkbox.checkDisable').change(function(){
    var $inputs = $('input:checkbox.checkDisable')
    if($(this).is(':checked')){
        $inputs.not(this).prop('disabled',true);
    }else{
        $inputs.prop('disabled',false); 
        $(this).prop('checked',false);
    }
 })

});
})(jQuery);
于 2013-04-17T10:23:10.667 回答
0

Pablo Araya的回答很好,但是......

$self.prop('checked', true);

在这里是多余的。单选按钮在每次点击时都处于选中状态。

于 2021-01-01T08:49:27.610 回答