Javascript 当jquery选中三个复选框时,如何使div变灰?

Javascript 当jquery选中三个复选框时,如何使div变灰?,javascript,jquery,Javascript,Jquery,我有一个页面,当选中三个复选框时,需要有一个div才能淡出。我正在使用下面的代码,但它不起作用。有什么建议吗 <script> function countChecked() { var n = $("input:checked").length; if($("input:checked").length > 3) { } else { $(".chkExample") .fadeTo(500, 0.2) } } countC

我有一个页面,当选中三个复选框时,需要有一个div才能淡出。我正在使用下面的代码,但它不起作用。有什么建议吗

<script>
function countChecked() {
var n = $("input:checked").length;
if($("input:checked").length > 3) {

    }
    else
    {
   $(".chkExample")
     .fadeTo(500, 0.2)
    }

}
countChecked();


$(":checkbox").click(countChecked);


</script>

函数countChecked(){
var n=$(“输入:已选中”).length;
如果($(“输入:选中”)。长度>3){
}
其他的
{
$(“.chkExample”)
.fadeTo(500,0.2)
}
}
countChecked();
$(“:复选框”)。单击(countChecked);

我将您的代码格式化了一点。这是在检查
>3
。在这种情况下,这与
>=4
相同。因此,您检查的是4个或更多,而不是3个或更多

如果您希望恰好选中3个框,则需要执行
n==3
。如果您想要3个或更多,请使用
n>=3,如果想要3个或更少,请使用
n
现在随机的一面是:复选框实际上已经贬值了。使用
[type=“checkbox”]
,因为它将使用本机javascript以加快速度

function countChecked() {
    var count = $('input[type="checkbox"]:checked').length;

    // this will test for 3 or more >=
    if (count >= 3) { alert('3 or more checked!'); }
    else { $(".chkExample").fadeTo(500, 0.2) }
}

countChecked();
// assuming you are using at least 1.7.2 of jQuery
// but start using `.on()` and with checkboxes/radios I always use 'change'
$('input[type="checkbox"]').on('change', countChecked);​