使用iCheck限制已选中复选框的数量 [英] Limit number of checked checkboxes using iCheck

查看:325
本文介绍了使用iCheck限制已选中复选框的数量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用iCheck设置复选框样式,但在侧面验证中无法使用此样式.基本上,我需要一次允许3个复选框被选中,并防止其他复选框被选中.

I'm using iCheck to style checkboxes and I'm having trouble using this along side validation. Basically I need to allow 3 checkboxes to be checked at a time and prevent further boxes from being checked.

我尝试使用此功能:

$("#modal1").on("change", function()
{
  var limit = 3,
      checkboxes = $(this).find("input:checkbox"),
      valid = checkboxes.filter(":checked").length >= limit;

    checkboxes.not(":checked").attr("disabled", valid);
    $('input').iCheck('update');
});

不使用iCheck即可运行,如下所示,但是我无法更新iCheck.

It works without iCheck as seen below, but I can't get iCheck to update.

http://jsfiddle.net/hUdrF/4/

推荐答案

我添加了.on("ifToggled"以及SpaceDog的代码,从而解决了该问题.

I up adding .on("ifToggled" plus SpaceDog's code, which solved the problem.

$("#modal1").on("ifToggled", function() {
    checkboxes = $(this).find("input:checkbox");  
    if (checkboxes.filter(":checked").length >= 3) { 
        checkboxes.not(":checked").iCheck('disable'); 
    } else { 
        checkboxes.not(":checked").iCheck('enable');
    } 
});

这篇关于使用iCheck限制已选中复选框的数量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆