javascript - 限制选择两个以上的复选框

标签 javascript html

当使用两个复选框时,我可以限制一次只选择一个复选框。如何使用多个复选框执行此操作? 这是我的 javascript:

<script type="text/javascript">

    $(document).ready(function(){
        $('#checkbox1').click(function() {
        var checkedBox = $(this).attr("checked");
            if (checkedBox === true) {
                $("#checkbox2").attr('checked', false);
            } else {
                $("#checkbox2").removeAttr('checked');                    
            }
        });
    });

    $(document).ready(function(){
        $('#checkbox2').click(function() {
        var checkedBox = $(this).attr("checked");
            if (checkedBox === true) {
                $("#checkbox1").attr('checked', false);                     
            } else {
                $("#checkbox1").removeAttr('checked');                       
            }
        });
    });


$(document).ready(function(){
        $('#checkbox3').click(function() {
        var checkedBox = $(this).attr("checked");
            if (checkedBox === true) {
                $("#checkbox3").attr('checked', false);
            } else {
                $("#checkbox3").removeAttr('checked');                    
            }
        });
    });

</script>

我的html代码如下

<i><input id="checkbox1" type="checkbox" name="checkbox1" value="gold" />
        <label class="licencecheck" for="checkbox1"></label></i>
<i><input id="checkbox2" type="checkbox" name="checkbox2" value="gold" />
        <label class="licencecheck" for="checkbox2"></label></i>
<i><input id="checkbox3" type="checkbox" name="checkbox3" value="gold" />
        <label class="licencecheck" for="checkbox3"></label></i>

最佳答案

您可以将通用类添加到您的复选框中,以便将它们作为 jQuery 对象集合进行选择,并获取单击的复选框并删除其他复选框的复选框。将您的 HTML 和 JavaScript 更改为:

$(document).ready(function() {
  $('.my_checkbox').click(function() {
      $(".my_checkbox").not(this).attr('checked', false);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<i><input id="checkbox1" type="checkbox" class="my_checkbox" name="checkbox1" value="gold" />
        <label class="licencecheck" for="checkbox1"></label></i>
<i><input id="checkbox2" type="checkbox" class="my_checkbox" name="checkbox2" value="gold" />
        <label class="licencecheck" for="checkbox2"></label></i>
<i><input id="checkbox3" type="checkbox"  class="my_checkbox" name="checkbox3" value="gold" />
        <label class="licencecheck" for="checkbox3"></label></i>

关于javascript - 限制选择两个以上的复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41483827/

相关文章:

javascript - 如何自动改变网站方向LTR\RTL?

javascript - WebStorm/PhpStorm 和 JavaScript ES6 : destructuring assignment not recognized

JavaScript 动态函数

PHP 下拉排序

html - 在 Firefox 中,SPAN 元素不能动态添加到具有 -column-width 值的元素

css - 粘性页脚和 IE

javascript - 数字生成器 - 两个单独的值

JavaScript 文件路径问题/错误

html - 如何在 li 标记内联两个 a 标记,该标记位于导航对齐的导航选项卡内

javascript - 动态创建绑定(bind)到可观察数组内的可观察对象的复选框不起作用