javascript - 一次选中一个复选框 - 不是单选按钮

标签 javascript html checkbox

首先,在推荐单选按钮之前,我想使用复选框,因为它们可以取消选中。我有 2 个自定义复选框#c1 和#c2;我希望一次打开一个(因此,如果 c1 打开,单击 c2 将取消选中 c1);我希望两者都能够不受检查。任何想法将不胜感激!

这是我尝试过的:`

let c1 = document.getElementById('c1');
let c2 = document.getElementById('c2');

function oneAtATime() {
  if (c1.checked) {
    c2.checked = false;
  } else if (c2.checked) {
    c1.checked = false;
  }
}
c1.addEventListener('change', oneAtATime);
c2.addEventListener('change', oneAtATime);
<input id="c1" type="checkbox" name="checkbox" class="check">
<label for="c1">
        <h2>example</h2>
    </label>
<input id="c1" type="checkbox" name="checkbox" class="check">
<label for="c1">
        <h2>example</h2>
    </label>

最佳答案

对于 jQuery >= 1.6

$('.check').prop('checked', true);
$('.check').prop('checked', false);

对于 jQuery <1.6:

$('.check').attr('checked', true);
$('.check').attr('checked', false);

片段:

$('.check').click(function(){
  if ($(this).is(':checked')) {
    $('.check').prop('checked', false);
    $(this).prop('checked', true);
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="c1" type="checkbox" name="checkbox" class="check">
<label for="c1">
        <h2>example</h2>
    </label>
<input id="c2" type="checkbox" name="checkbox" class="check">
<label for="c2">
        <h2>example</h2>
    </label>

关于javascript - 一次选中一个复选框 - 不是单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52046863/

相关文章:

javascript - 检查一个 div 而不是一个复选框

javascript - 使用 Ember.js 将新行动态插入表上下文

javascript - 为什么我不能让我的 HTML 元素留在页面底部?

php - 更新单个 MySQL 行

javascript - Onclick 使用标签更改颜色+文本

forms - 获取 lift 中的复选框和单选按钮值

javascript - 使用浏览器的主滚动条滚动 2 个 DIV 内容 + 主要内容

javascript - 如何在 WebStorm 中调试 Angular Protractor 测试

c# - 如何根据下拉列表中选择的项目在隐藏字段中设置值

java - 如何从动态添加的复选框中获取 id 及其值