2017-01-05 98 views
3

当使用两个复选框时,我可以一次限制一个复选框的选择。如何使用多个复选框执行此操作? 继承人我的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> 
+0

这是典型的'无线电buttons'一个用例:http://www.w3schools.com/html/tryit.asp?filename=tryhtml_radio – ppasler

+0

html在哪里? – ppasler

+0

哦,该死的,对不起......让我编辑 – RileyManda

回答

1

这种情况下使用单选按钮,这样可以确保您只能选择1个元素,并适用于与无限的单选按钮同样name

<i> 
 
    <input id="radio1" type="radio" name="group" value="gold" /> 
 
    <label class="licencecheck" for="radio1"></label> 
 
</i> 
 
<i> 
 
    <input id="radio2" type="radio" name="group" value="copper" /> 
 
    <label class="licencecheck" for="radio2"></label> 
 
</i> 
 
<i> 
 
    <input id="radio3" type="radio" name="group" value="silver" /> 
 
    <label class="licencecheck" for="radio3"></label> 
 
</i>

+0

好吧,让我试试这个 – RileyManda

+0

仍然不能正常工作 – RileyManda

+0

什么是不工作? – ppasler

2

您可以将常用类添加到您的复选框中,以将它们选择为jQuery对象集合并获取单击并移除其他对象的check属性的复选框。你的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>

+0

虽然这是OP要求的,但这是复选框类型的'未使用'。有一个特殊的类型:无线电 – ppasler

+0

@ppasler我同意。但是在某些应用程序中我看到了一些特殊情况。 –

+0

好的,谢谢bro.I会给我一个尝试 – RileyManda