点击

时间:2018-01-30 04:11:43

标签: javascript jquery css twitter-bootstrap

您好我设计了一个严肃的单选按钮。我想在点击时永久更改单选按钮的颜色。请帮我实现这个设计。我在这里写了这段代码,但是没有用。任何建议都将受到高度赞赏。

$('.btn.btn-default').on("click", function() {
  //$('button').not(this).removeClass();
  $(this).toggleClass('active');

});
.active {
  background-color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
  <div class="row">
    <div class="btn-group btn-group-justified" data-toggle="buttons">
      <label class="btn btn-default">
        <input type="radio" name="options" id="option1" autocomplete="off" checked>
      </label>
      <label class="btn btn-default">
    	<input type="radio" name="options" id="option2" autocomplete="off">
      </label>
      <label class="btn btn-default">
    	<input type="radio" name="options" id="option3" autocomplete="off">
      </label>
      <label class="btn btn-default">
        <input type="radio" name="options" id="option4" autocomplete="off">
      </label>
    </div>
  </div>
</div>

5 个答案:

答案 0 :(得分:2)

你可以使用像这样的兄弟姐妹添加和删除类。

&#13;
&#13;
$('.btn.btn-default').on("click", function() {
  $(this).addClass('active');
  $(this).siblings().removeClass('active')

});
&#13;
.active {
  background-color: red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
  <div class="row">
    <div class="btn-group btn-group-justified" data-toggle="buttons">
      <label class="btn btn-default">
    									<input type="radio" name="options" id="option1" autocomplete="off" checked>
    								</label>
      <label class="btn btn-default">
    									<input type="radio" name="options" id="option2" autocomplete="off">
    								</label>
      <label class="btn btn-default">
    									<input type="radio" name="options" id="option3" autocomplete="off">
    								</label>
      <label class="btn btn-default">
    									<input type="radio" name="options" id="option4" autocomplete="off">
    								</label>
    </div>
  </div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

我认为您只需要使用toggleClass更改addClass,因为您需要永久更改颜色。

$('.btn.btn-default').on("click", function() {
  $(this).addClass('active');
});

答案 2 :(得分:1)

试用此代码,正常工作

&#13;
&#13;
$('.btn.btn-default').on("click", function() {
  //$('button').not(this).removeClass();
  $(this).addClass('active');

});
&#13;
.active {
  background-color: red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
  <div class="row">
    <div class="btn-group btn-group-justified" data-toggle="buttons">
      <label class="btn btn-default">
        <input type="radio" name="options" id="option1" autocomplete="off" checked>
      </label>
      <label class="btn btn-default">
    	<input type="radio" name="options" id="option2" autocomplete="off">
      </label>
      <label class="btn btn-default">
    	<input type="radio" name="options" id="option3" autocomplete="off">
      </label>
      <label class="btn btn-default">
        <input type="radio" name="options" id="option4" autocomplete="off">
      </label>
    </div>
  </div>
</div>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

就我而言,以下解决方案效果最佳。感谢所有宝贵的意见。

 <style>
     .btn-default.active{background-color:blue;}
  </style>

  <script>
     $('.btn.btn-default').on("click",function(){  
       //$('button').not(this).removeClass();
       $(this).addClass('active');

     });
  </script>

我在样式中添加了.btn-default CSS类。

答案 4 :(得分:-1)

您只需在加载整个主体后添加JQuery。

我认为这会对你有所帮助。

<!DOCTYPE html>
<html>
   <head>
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
   </head>
   <body>
      <style>
         .active{background-color:red;}
      </style>
      <div class="container">
         <div class="row">
            <div class="btn-group btn-group-justified" data-toggle="buttons">
               <label class="btn btn-default">
               <input type="radio" name="options" id="option1" autocomplete="off" checked>
               </label>
               <label class="btn btn-default">
               <input type="radio" name="options" id="option2" autocomplete="off">
               </label>
               <label class="btn btn-default">
               <input type="radio" name="options" id="option3" autocomplete="off">
               </label>
               <label class="btn btn-default">
               <input type="radio" name="options" id="option4" autocomplete="off">
               </label>
            </div>
         </div>
      </div>
      <script>
         $('.btn.btn-default').on("click",function(){  
           //$('button').not(this).removeClass();
           $(this).toggleClass('active');
         
         });
      </script>
   </body>
</html>