Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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
返回不在jquery中工作_Jquery_Function_Return_Exit - Fatal编程技术网

返回不在jquery中工作

返回不在jquery中工作,jquery,function,return,exit,Jquery,Function,Return,Exit,我的jquery代码中的返回值有问题。我希望return在函数被点击后退出,但是函数会继续执行。我想我不是唯一一个有这个问题的人,但经过一番调查,我找不到我的困境的答案。以下是我的职责: $(".myButtonClass").on("click", function() { $(".myTextBoxClass").children('input').each(function() { if ($(this).css('display') === "inline-blo

我的jquery代码中的
返回值有问题。我希望
return
在函数被点击后退出,但是函数会继续执行。我想我不是唯一一个有这个问题的人,但经过一番调查,我找不到我的困境的答案。以下是我的职责:

$(".myButtonClass").on("click", function() {
    $(".myTextBoxClass").children('input').each(function() {
        if ($(this).css('display') === "inline-block") {
            var doLeave = confirm("Does the user want to move forward");

            if (!doLeave) {
                return;
            }
        }
    });
    document.vendorEdit.action = "newPage.asp";
    document.vendorEdit.submit();
});

伙计们,我做错了什么?

您需要
返回false
退出
。每个
循环<代码>返回true
转到下一个迭代。

您当前的
return
语句导致
每个
循环中断,而不是从
事件处理程序返回。在使用return语句退出每个循环之前,在condition
doLeave
块中设置标志,并使用该标志从事件处理程序返回

$(".myButtonClass").on("click", function() {
    var flagToReturn = false;
    $(".myTextBoxClass").children('input').each(function() {
        if ($(this).css('display') === "inline-block") {
            var doLeave = confirm("Does the user want to move forward");

            if (!doLeave) {
                flagToReturn = true;      
                return;
            }            
        }
        if(flagToReturn) return;

    });
    document.vendorEdit.action = "newPage.asp";
    document.vendorEdit.submit();
});

有两个函数,必须在这两个函数中给出“return false” 试试这个:

  $(".myButtonClass").on("click", function() {
        var valid = true;
        $(".myTextBoxClass").children('input').each(function() {
            if ($(this).css('display') === "inline-block") {
                var doLeave = confirm("Does the user want to move forward");

                if (!doLeave) {
                    valid = false;      
                    return false;
                }            
            }


        });

        if(!valid){ 
          return false;
        };
        document.vendorEdit.action = "newPage.asp";
        document.vendorEdit.submit();
    });

但是您的两个返回都在
each
内,但是each循环不会停止在
返回上执行。它一直在运行。就是这样,我需要在
返回之后输入
false
。我刚刚意识到我有两个功能。这就是你不睡觉时发生的事情。谢谢:)
  $(".myButtonClass").on("click", function() {
        var valid = true;
        $(".myTextBoxClass").children('input').each(function() {
            if ($(this).css('display') === "inline-block") {
                var doLeave = confirm("Does the user want to move forward");

                if (!doLeave) {
                    valid = false;      
                    return false;
                }            
            }


        });

        if(!valid){ 
          return false;
        };
        document.vendorEdit.action = "newPage.asp";
        document.vendorEdit.submit();
    });