jQuery - 多个复选框

时间:2012-03-15 11:45:15

标签: jquery checkbox

我在网上看了几个小时没有运气!

我有40个复选框,必须始终检查一个复选框。这是扭曲,一个复选框必须是40中的任何一个。

我知道如何只针对一个按钮...这不是目标。用户必须能够选择保持活动状态。

      $(document).ready(function() {
      $('#W_E-helpPage01').click(function() {
         return false;

表格验证也不是票证。由于这需要是动态的,因此必须阻止用户取消选中除一个复选框以外的所有复选框。

实施例: 如果30在哪里检查,并且用户决定取消选中所有30个他不能这样做。规则是必须始终进行一次检查,哪一项无关紧要,但必须是随机的。

非常感谢任何帮助。

谢谢, 瑞奇

3 个答案:

答案 0 :(得分:2)

此代码将阻止用户取消选中上次选中的复选框:

$('input:checkbox').on('click', function() {    
    if ($('input:checkbox:checked').length == 0) {
        return false;
    }
});​

它检查此点击是否导致没有选中复选框,如果为真,则取消点击。

http://jsfiddle.net/BQCK3/

答案 1 :(得分:1)

我做了一个可以解决这个问题的小提琴:link

HTML:

<input class="cb" type="checkbox" checked /><span>1</span><br />
<input class="cb" type="checkbox" /><span>2</span><br />
<input class="cb" type="checkbox" /><span>3</span><br />
<input class="cb" type="checkbox" /><span>4</span><br />
<input class="cb" type="checkbox" /><span>5</span><br />
<input class="cb" type="checkbox" /><span>6</span><br />

JS:

$(document).ready(function(){

    $(".cb").click(function(){

        if(!$(this).is(":checked")){
            if($(".cb:checked").length >= 1)
            {
                return true;
            } else {
                return false;
            }
        } else {
            return true;
        }
    });
});

答案 2 :(得分:0)

Please use the following example

 <input  class="Active test" type="checkbox" checked /><span>1</span><br />
 <input  class="InActive test" test" type="checkbox" /><span>2</span><br />
 <input  class="InActive test" test" type="checkbox" /><span>3</span><br />
 <input  class="InActive test" test" type="checkbox" /><span>4</span><br />
 <input  class="InActive test" test" type="checkbox" /><span>5</span><br />
 <input class="InActive test" type="checkbox" /><span>6</span><br />

 $('.test').live('click', function () {
    if ($(this).hasClass("Active")) {
        $(this).removeClass("Active");
        $(this).addClass("InActive");
    }
    else
        if ($(this).hasClass("InActive")) {
            $(this).removeClass("InActive");
            $(this).addClass("Active");
        }
    // alert($('.Active').length);
    if ($('.Active').length == 0) {
        alert("Atleast one checkbox is required")
        $(this).addClass("Active");
        return false;
    }
});