как переключать текст, когда флажки установлены, и скрывать, когда ничего не отмечено - PullRequest
0 голосов
/ 20 февраля 2019

При установке флажка отображается текст Checked.При снятии всех флажков, как я могу скрыть текст Checked?

$('.rafcheckbox').click(function() {
  $(".rafoptions").show();
});
<input type="checkbox" class="rafcheckbox" value="1" />
<input type="checkbox" class="rafcheckbox" value="2" />
<input type="checkbox" class="rafcheckbox" value="3" />
<div class="rafoptions" style="display:none">Checked</div>

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Этого можно добиться с помощью every(), представленного в ES6

$(".rafcheckbox").click(function() {
    let checkedInputs = [];
    $(".rafcheckbox").each(function() {
    checkedInputs.push(this.checked)});
    if(checkedInputs.every(element => !element))
        $(".rafoptions").hide();
    else
        $(".rafoptions").show();
});

JSFiddle

0 голосов
/ 20 февраля 2019

Чтобы сделать это, вы можете использовать селектор :checked и свойство length, чтобы определить, установлен ли флажок любой .Затем вы можете использовать toggle(), чтобы скрыть / показать div, как требуется.

var $checkboxes = $('.rafcheckbox').change(function() {
  var anyChecked = $checkboxes.filter(':checked').length != 0;
  $(".rafoptions").toggle(anyChecked);
});
.rafoptions { display: none; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" class="rafcheckbox" value="1" />
<input type="checkbox" class="rafcheckbox" value="2" />
<input type="checkbox" class="rafcheckbox" value="3" />
<div class="rafoptions">Checked</div>
...