Javascript 更改单选按钮组的标签类

Javascript 更改单选按钮组的标签类,javascript,php,css,html,Javascript,Php,Css,Html,下面是使用引导模板的单选按钮组的代码片段。但我试图做的是每次切换选项时更改单选按钮的类部分(即选中单选按钮时,标签类将为“btn btn primary”,如果未选中,标签类将为“btn btn default”)。有人知道如何做到这一点吗 <body> <div class = "form-group"> <label class = "control-label col-md-3 col-sm-3 col-xs-12">Gender

下面是使用引导模板的单选按钮组的代码片段。但我试图做的是每次切换选项时更改单选按钮的类部分(即选中单选按钮时,标签类将为“btn btn primary”,如果未选中,标签类将为“btn btn default”)。有人知道如何做到这一点吗

<body>
    <div class = "form-group">
        <label class = "control-label col-md-3 col-sm-3 col-xs-12">Gender</label>

        <div class = "col-md-6 col-sm-6 col-xs-12">
            <div id = "gender" class = "btn-group" data-toggle = "buttons">
                <label class = "btn btn-default" data-toggle-active-class = "btn-primary" data-toggle-passive-class = "btn-default">
                    <input type = "radio" name = "gender" value = "male"> &nbsp; Male &nbsp;
                </label>

                <label class = "btn btn-primary" data-toggle-class = "btn-primary" data-toggle-passive-class = "btn-default">
                    <input type = "radio" name = "gender" value = "female"> Female
                </label>
            </div>
        </div>
    </div>
</body>

性别
男性
女性

您可以执行以下操作:

$(function(){
    $(".checkbox-class").change(function() {
    $("#gender").toggleClass("show-hide", this.checked)
  }).change();
});​

或者,您可以使用jQuery尝试
addClass
removeClass
方法,您可以执行以下操作:

$(function(){
    $(".checkbox-class").change(function() {
    $("#gender").toggleClass("show-hide", this.checked)
  }).change();
});​

或者,您可以使用jQuery尝试
addClass
removeClass
方法您可以使用jQuery轻松完成此任务,请在底部使用此方法-

$('input[type=radio]').each(function(){
     if($(this).prop('checked')){
       $(this).removeClass('btn-default').addClass('btn-primary');
     }else{
       $(this).removeClass('btn-primary').addClass('btn-default');
     }
 });

您可以使用jquery轻松地完成这项工作,请在底部使用它-

$('input[type=radio]').each(function(){
     if($(this).prop('checked')){
       $(this).removeClass('btn-default').addClass('btn-primary');
     }else{
       $(this).removeClass('btn-primary').addClass('btn-default');
     }
 });

您可以这样做:

 $('input:radio').change(function(){
      var $self = $(this);
      if ($self.prop('checked')) {
      $('input[type=radio]').parent().removeClass('btn-primary');
         $self.parent().addClass('btn-primary');
      } else {
         $self.parent().removeClass('btn-default');
      }
   });

这里是工作小提琴代码:

您可以执行以下操作:

 $('input:radio').change(function(){
      var $self = $(this);
      if ($self.prop('checked')) {
      $('input[type=radio]').parent().removeClass('btn-primary');
         $self.parent().addClass('btn-primary');
      } else {
         $self.parent().removeClass('btn-default');
      }
   });

这里是工作小提琴代码:

这里是Minal Chauhan的固定答案

  $('input:radio').change(function(){
      var $self = $(this);
      if ($self.prop('checked')) {
            $('input[type=radio]').parent().removeClass('btn-primary').addClass('btn-default');
            $self.parent().removeClass('btn-default').addClass('btn-primary');
      }
  });

下面是来自Minal Chauhan的固定答案

  $('input:radio').change(function(){
      var $self = $(this);
      if ($self.prop('checked')) {
            $('input[type=radio]').parent().removeClass('btn-primary').addClass('btn-default');
            $self.parent().removeClass('btn-default').addClass('btn-primary');
      }
  });

当您有多个按钮时,上述回复的js不适用。上面的javascript代码会破坏其他按钮的功能。 因此,更改单选按钮组标签类的js如下

$('input:radio').change(function(){
  var $self = $(this);
  if ($self.prop('checked')) {
  $self.parent().siblings('label').removeClass('btn-primary');
     $self.parent().addClass('btn-primary');
  } else {
     $self.parent().removeClass('btn-default');
  }

}))

当您有多个按钮时,上述回复不适用。上面的javascript代码会破坏其他按钮的功能。 因此,更改单选按钮组标签类的js如下

$('input:radio').change(function(){
  var $self = $(this);
  if ($self.prop('checked')) {
  $self.parent().siblings('label').removeClass('btn-primary');
     $self.parent().addClass('btn-primary');
  } else {
     $self.parent().removeClass('btn-default');
  }

}))

谢谢你回复我的问题,很抱歉,我花了一段时间才回复这个网站开发的新问题,所以我无法尽快回复,因为我需要查看你的答案……无论如何,回到主题……你的建议奏效了,但它有一个bug,如果你注意到你的jfiddle上的初始按钮有点松动,我想,它应该恢复到btn默认类…有什么想法吗?我发现了你的错误,它工作得非常好…非常感谢你为我指出了正确的方向感谢你对我的问题的回复,很抱歉,我花了一段时间才回复新的web开发内容,因此我无法尽快回复,因为我需要查看您的答案…无论如何,回到主题…您的建议有效,但它有一个错误,如果您注意到JFIDLE上的初始按钮有点松动,我想,它应该恢复到btn默认类…有什么想法吗?我发现了你的错误,它工作得非常好…非常感谢你为我指出了正确的方向感谢你对我的问题的回复,很抱歉,我花了一段时间才回复新的web开发内容,因此我无法尽快回复,因为我需要查看您的答案…无论如何,回到主题…尝试了您的建议,但遗憾的是,它没有起到作用。当我取消选中收音机按钮,以获得对我的查询的响应时,什么都没有发生,很抱歉,我花了一段时间才回复新的web开发内容,因此我无法尽快回复,因为我需要查看您的答案…无论如何,回到主题…尝试了您的建议,但遗憾的是,它没有起到作用。当我取消选中收音机按钮,以获得对我的查询的响应时,什么都没有发生,很抱歉,我花了一段时间才回复新的web开发内容,因此我无法尽快回复,因为我需要查看您的答案…无论如何,回到主题…我尝试了您的建议,甚至使用了您的代码,但结果是否定的,即使我取消选中单选按钮,也不会发生任何事情。感谢您对我的查询的回复,很抱歉我花了一段时间才在这个web开发项目上回复新的内容,所以我无法尽快回复,因为我需要查看您的答案……无论如何,回到主题……我尝试了你的建议,甚至使用了你的代码,但结果是否定的,即使我取消选中单选按钮,也不会发生任何事情。