如果选中两个单选按钮,则将CSS添加到div

问题描述 投票:2回答:5

分别有两个单选按钮。具有不同的名称值。当两者都被“选中”时,我试图将css添加到div元素。

$(document).ready(function(){
    $('input[name="nameone"]').click(function(){
        if($(this).is(":checked")){
            $(".calculate-total").css("display","block")
        }
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label>
<input type="radio" name="nameone" /> Nameone radio
</label>
<br><br>
<label>
<input type="radio" name="nametwo" /> Namtwo radio
</label>

<div class="calculate-total" style="display:none;">If two radio checked both, this div will be visible.</div>
javascript html jquery css checked
5个回答
2
投票

只需像添加if一样添加第二个input[name="nameone"]条件:

function showDiv() {
  if ($('input[name="nameone"]').is(":checked") && $('input[name="nametwo"]').is(":checked")) {
    $(".calculate-total").css("display", "block")
  }
}

$(document).ready(function() {
  $('input[name="nameone"], input[name="nametwo"]').click(function() {
    showDiv();
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<label>
<input type="radio" name="nameone" /> Nameone radio
</label>
<br><br>
<label>
<input type="radio" name="nametwo" /> Namtwo radio
</label>

<div class="calculate-total" style="display:none;">If two radio checked both, this div will be visible.</div>

2
投票

只需检查是否都选中了它们:

$(document).ready(function(){
    $('input[name="nameone"], input[name="nametwo"]').click(function(){
        if($('input[name="nameone"]').is(":checked") && $('input[name="nametwo"]').is(":checked")){
            $(".calculate-total").css("display","block")
        }
    });
});

1
投票

[您仅检查是否单击了第一个单选输入,这就是为什么当您单击第一个单选输入时div显示的原因。您应该同时收听/检查。如果两者均被单击(选中)。那就是您想要做某事的时候。您可以使用&&完成工作

function showDiv() {
  if ($('input[name="nameone"]').is(":checked") && $('input[name="nametwo"]').is(":checked")) {
    $(".calculate-total").css("display", "block")
  }
}

$(document).ready(function() {
  $('input[name="nameone"], input[name="nametwo"]').click(function() {
    showDiv();
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<label>
<input type="radio" name="nameone" /> Nameone radio
</label>
<br><br>
<label>
<input type="radio" name="nametwo" /> Namtwo radio
</label>

<div class="calculate-total" style="display:none;">If two radio checked both, this div will be visible.</div>

0
投票

您必须检查是否已选中所有单选按钮,并根据此检查可以切换块的可见性。

我向您要检查的单选按钮添加了一个类。并且仅当所有单选按钮的长度等于所检查的一次时,我才显示calculate-total div

$(document).ready(function() {
  $('input[type="radio"]').on('change', function() {
    if ($('.check-it').filter(':checked').length === $('.check-it').length) {
      $(".calculate-total").css("display", "block")
    } else {
      $(".calculate-total").css("display", "none")
    }
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label>
<input type="radio" name="nameone" class="check-it" /> Nameone radio
</label>
<label>
<input type="radio" name="nameone" /> Nameone radio
</label>
<br><br>
<label>
<input type="radio" name="nametwo" class="check-it" /> Namtwo radio
</label>
<label>
<input type="radio" name="nametwo" /> Namtwo radio
</label>

<div class="calculate-total" style="display:none;">If two radio checked both, this div will be visible.</div>

0
投票

您需要同时收听两个单选按钮,并同时检查两个按钮:

$(document).ready(function(){
    $('input:radio').change(function(){
         if($('input[name="nameone"]').is(":checked") && $('input[name="nametwo"]').is(":checked")){
              $(".calculate-total").css("display","block")
         }
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label>
     <input type="radio" name="nameone" /> Nameone radio
</label>
<br><br>
<label>
      <input type="radio" name="nametwo" /> Namtwo radio
</label>
<div class="calculate-total" style="display:none;">If two radio checked both, this div will be visible.</div>
© www.soinside.com 2019 - 2024. All rights reserved.