Javascript 如果条件调用js函数,即使它失败 var countChecked=function(){ 返回$(“输入:已选中”).length; }; $(“div#注册标签”)。单击(函数(){ var count=countChecked(); 如果(计数

Javascript 如果条件调用js函数,即使它失败 var countChecked=function(){ 返回$(“输入:已选中”).length; }; $(“div#注册标签”)。单击(函数(){ var count=countChecked(); 如果(计数,javascript,jquery,checkbox,label,Javascript,Jquery,Checkbox,Label,如果IF条件失败,则不会调用alert(),但仍会调用.checkmate() JS var countChecked = function() { return $( "input:checked" ).length; }; $( "div#signup label" ).click( function() { var count = countChecked(); if ( count < 6 ) { $( "div#signup label"

如果IF条件失败,则不会调用alert(),但仍会调用.checkmate()

JS

var countChecked = function() {
    return $( "input:checked" ).length;
};

$( "div#signup label" ).click( function() {
    var count = countChecked();
    if ( count < 6 ) {
        $( "div#signup label" ).checkmate();
        alert( count );
    }
} );
function()已检查{
返回$(“输入:已选中”).length;
};
$(函数(){
$(“div#signup label”).checkmate();
$(“分区注册标签”)。单击(功能(e){
var count=countChecked();
如果(计数<6){
e、 预防默认值();
e、 停止传播();
警报(计数);
}
});
});

难以置信。如果真的调用了它,那么它一定来自其他地方。
$(“div#signup label”).checkmate()即可初始化jquery插件。只有当
计数<6
时才会调用警报,初始化代码也会调用警报,但如果在初始化之前调用警报,警报仍将被初始化。请验证它。你的代码按原样工作,它不做你说它做的事。添加
console.log()
调用以输出
count
,然后在
if
块内部和
checkmate()
调用之后,查看它是否到达了这些位置。@abc123:Ahhh。。。非常感谢。您熟悉这个插件吗?我想确保用户至少选择1项,但不超过5项。我想我必须将一个条件传递到checkmate()中,并稍微编辑一下代码。这将阻止标签亮起,但无论如何仍会选中它。有什么想法吗?谢谢大家。新手犯的错误。
function() countChecked {
    return $("input:checked").length;
};

$(function(){
    $("div#signup label").checkmate();

    $( "div#signup label" ).click(function(e) {
        var count = countChecked();
        if ( count < 6 ) {
            e.preventDefault();
            e.stopPropagation();
            alert(count);
        }
    });
});