Bootstrap 4 рушится, чтобы работать, только если все флажки сняты - PullRequest
0 голосов
/ 24 августа 2018

Я пытаюсь показать кнопку upload proof, если установлен один или два или все три флажка, и скрыть, только если флажок не установлен.

Как я могу это сделать?

.container {
  margin-top: 30px;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<div class="container">
<div class="row">
  <div class="col-12">
    <label class="checkbox"> Age<input type="checkbox" data-toggle="collapse" data-target="#proof"></label>
    <label class="checkbox"> Photo<input type="checkbox" data-toggle="collapse" data-target="#proof"></label>
    <label class="checkbox"> Address<input type="checkbox" data-toggle="collapse" data-target="#proof"></label>
  </div>
  <div class="12">
    <div class="collapse" id="proof">
      <a href="#" class="btn btn-block btn-primary">Upload Proof</a>
    </div>
  </div>
</div>
</div>

Ответы [ 2 ]

0 голосов
/ 24 августа 2018

$(function() {
   $( "input" ).click(function() {
    	var checked = $("input:checked").length;
      if (checked == 0) {
        $('#proof').hide();
      } else {
        $('#proof').show();
      }
    });
});
.container {
  margin-top: 30px;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<div class="container">
<div class="row">
  <div class="col-12">
    <label class="checkbox"> Age<input type="checkbox" data-toggle="collapse" data-target="#proof"></label>
    <label class="checkbox"> Photo<input type="checkbox" data-toggle="collapse" data-target="#proof"></label>
    <label class="checkbox"> Address<input type="checkbox" data-toggle="collapse" data-target="#proof"></label>
  </div>
  <div class="12">
    <div class="collapse" id="proof">
      <a href="#" class="btn btn-block btn-primary">Upload Proof</a>
    </div>
  </div>
</div>
</div>
0 голосов
/ 24 августа 2018

Вот рабочий код, мы можем проверить количество отмеченных флажков

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<div class="container">
  <div class="row">
    <div class="col-12">
      <label class="checkbox"> Age<input type="checkbox" class="checkbox_class"></label>
      <label class="checkbox"> Photo<input type="checkbox" class="checkbox_class"></label>
      <label class="checkbox"> Address<input type="checkbox" class="checkbox_class"></label>
    </div>
    <div class="12">
      <div class="upload_proof hide">
         <a href="#" class="btn btn-block btn-primary">Upload Proof</a>
      </div>
    </div>
 </div>
</div>
<script>
  $(document).ready(function(){
    $("input[type='checkbox']").change(function(event) {
      if ($("input:checkbox:checked").length > 0)
      {
        if($(".upload_proof").hasClass("hide")){
           $(".upload_proof").removeClass("hide")
         }
      }else{
        if(! $(".upload_proof").hasClass("hide")){
          $(".upload_proof").addClass("hide")
        }
      }
    })
  })
</script>

Надеюсь, это вам поможет.Дайте мне знать, если возникнут какие-либо проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...