Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';当参数传递给JQuery时,不要使函数为true_Javascript_Jquery - Fatal编程技术网

Javascript Can';当参数传递给JQuery时,不要使函数为true

Javascript Can';当参数传递给JQuery时,不要使函数为true,javascript,jquery,Javascript,Jquery,问题很简单。当scoring变量大于10时,我无法使sprawdzRyzyko()函数返回布尔值true var high_ryzyko_kraj = ['Polska', 'Afganistan', 'Ukraina']; var less_ryzyko_kraj = ['Serbia', 'Egipt']; var scoring = 0; $('#country, #country-bd, #country-wd').change(function(){ caunt = $(t

问题很简单。当
scoring
变量大于10时,我无法使
sprawdzRyzyko()
函数返回布尔值true

var high_ryzyko_kraj = ['Polska', 'Afganistan', 'Ukraina'];
var less_ryzyko_kraj = ['Serbia', 'Egipt'];


var scoring = 0;
$('#country, #country-bd, #country-wd').change(function(){
    caunt = $(this).val();
    var arr = $.inArray(caunt, high_ryzyko_kraj);
    var drr = $.inArray(caunt, less_ryzyko_kraj);

    if (arr>-1){  
        scoring += 4 ;
        sprawdzRyzyko();
    }else if(drr>-1){
        scoring += 2 ;
        sprawdzRyzyko();
    }
});

console.log(scoring);

var sprawdzRyzyko = function () {
    if (scoring > 10){
        return true;  
    }     
}

// For Testing

var a = sprawdzRyzyko();
if (a){
    console.log("Hey it works!");
}

您可以通过在
high_ryzyko_kraj
数组中将所选内容设置为3个国家,将
评分
变量设置为10以上。

尝试以下操作:

我不知道您的动态,但您确定每次DDL更改时(所以在更改事件处理程序中),评分不应该设置为0(零)吗

希望这有帮助

祝你今天愉快

阿尔贝托这里有一个解决方案


如果它大于10,那么您想做什么?如果您希望看到
嘿,它可以工作
将不会被记录,因为如果仅对
条件进行一次验证,则可能会出现问题。如何在sprawdzRyzyko()函数中使用“if”来侦听更改?一切都很好:我刚刚移动了测试。正如@ArunPJohny所说,在你的小提琴中,如果在加载页面时运行
,而不是在用户更改菜单后运行,则只会执行一次
。如何让它同时监听更改?在另一个函数中使用change()?谢谢,但我还是得到了ReferenceError:sprawdzRyzyko没有定义,需要这样做。我做了。但这并没有使斯普拉德兹里科成为现实。当它超过10时,你是什么意思?Sprawdzryko是一个函数,你想让它变成布尔值吗?谢谢。但当我的得分高于10,并且我将sprawdzRyzyko()放入控制台时,我会得到ReferenceError:sprawdzRyzyko未定义。我很想看到布尔值为真。你没看到小提琴的答案吗?它正在测试if语句中的函数。将该值设置为10以上,返回值为真。我不知道你还在找什么。让我知道答案中有什么不对,以便我可以尝试为您找到答案。如果(sprawdzRyzyko()==true){console.log(“喵”);}希望听到喵的声音:)
var high_ryzyko_kraj = ['Polska', 'Afganistan', 'Ukraina'];
var less_ryzyko_kraj = ['Serbia', 'Egipt'];
var scoring = 0;
var sprawdzRyzyko = false;

$('#country, #country-bd, #country-wd').change(function(){
    if ($.inArray($(this).val(), high_ryzyko_kraj)>-1)
        scoring += 4;
    else if($.inArray($(this).val(), less_ryzyko_kraj)>-1)
        scoring += 2;
    if (scoring > 10){
        alert("Hey it works!");
        sprawdzRyzyko=true;
    }
});
function sprawdzRyzyko() {
        if (scoring > 10) {
            return true;
        }
    };