jQuery怎么跳出函数,函数内有each循环

时间:2022-12-03 14:55:51
jquery怎么在function中的each中进行判断,直接跳出函数


    $("#childSUM").click(function () {
        var bgdsl = 0, ckmyje = 0, btje = 0;
        $("input[name='news_BGDH']").each(function () {
            if ($(this).val().trim().length == 0) {
                alert("您有单子没有输入单号信息,请检查!");
                bgdsl++;
                return;  //这里要直接跳出【$("#childSUM").click】这个函数,不是只跳出each循环应该怎么写
            }
        });
        $("input[name='news_BGRQ']").each(function () {
            if ($(this).val().trim().length == 0) {
                alert("您有单子没有输入日期,请检查!");
                return false;  //这里要直接跳出【$("#childSUM").click】这个函数,不是只跳出each循环应该怎么写
            }
        });
});

9 个解决方案

#1


    $("#childSUM").click(function () {
        var bgdsl = 0, ckmyje = 0, btje = 0;
        $("input[name='news_BGDH']").each(function () {
            if ($(this).val().trim().length == 0) {
                alert("您有单子没有输入单号信息,请检查!");
                bgdsl++;
                return;  //这里要直接跳出【$("#childSUM").click】这个函数,不是只跳出each循环应该怎么写
            }
        });
        if(bgdsl) return;
         var needBreak = false;
        $("input[name='news_BGRQ']").each(function () {
            if ($(this).val().trim().length == 0) {
                alert("您有单子没有输入日期,请检查!");
                 needBreak = true;
                return false;  //这里要直接跳出【$("#childSUM").click】这个函数,不是只跳出each循环应该怎么写
            }
        });
        if(needBreak ) return;
});

#2


没办法直接跳出each,要么你就别用each,自己写for循环,判断了直接return

#3


樓主知道break 關鍵字吧?

#4


用for的話可以使用break跳出迴圈
each裡用break似乎不影響jquery for的運作阿
像2f說的 自己寫循環會比較合樓主的需求

#5


你怎么知道没有跳出循环的?

#6



    $("#childSUM").click(function () {
        var bgdsl = 0, ckmyje = 0, btje = 0;

        var ok = true
        $("input[name='news_BGDH']").each(function () {
            if ($(this).val().trim().length == 0) {
                alert("您有单子没有输入单号信息,请检查!");
                bgdsl++;
                ok = false; ////////
                return false; //跳出each循环,无法从each里面直接跳出click事件,只能设置标志以便跳出each后判断是否跳出click
            }
        });
        if (!ok) return false; //跳出click事件
        $("input[name='news_BGRQ']").each(function () {
            if ($(this).val().trim().length == 0) {
                alert("您有单子没有输入日期,请检查!");
                ok = false;
                return false;  //跳出each就到函数结束了,跳出不跳出没关系
            }
        });
        return ok;//如果你的click事件要接受返回值就加这句,不接受可以去掉
    });

#7


我是先把要执行的先执行了,再进行判断的
                $("****").click(function () {
                    if (!this.checked) {
                        $('#selall').prop('checked', false)
                    }
                    else {
                        $("#selall").prop("checked", true);
                        $(".pro .selectbox").each(function () {
                            if ($(this).prop("checked")) {
                            }
                            else {
                                $('#selall').prop('checked', false)
                                return false;
                            }
                        });
                    }

#8


你懂的 
 $("#childSUM").click(function () {
        var isReturn = false;
        var bgdsl = 0, ckmyje = 0, btje = 0;
        $("input[name='news_BGDH']").each(function () {
            if ($(this).val().trim().length == 0) {
                alert("您有单子没有输入单号信息,请检查!");
                bgdsl++;
               isReturn = true;//这里要直接跳出【$("#childSUM").click】这个函数,不是只跳出each循环应该怎么写
            }
        });
         if(isReturn ) return;
        $("input[name='news_BGRQ']").each(function () {
            if ($(this).val().trim().length == 0) {
                alert("您有单子没有输入日期,请检查!");
                isReturn = true;  //这里要直接跳出【$("#childSUM").click】这个函数,不是只跳出each循环应该怎么写
            }
        });
         if(isReturn ) return false ;
});

#9


在jquery 的each中,跳出本次each 循环用return true (相当于continue);跳出整个循环用return false(相当于break);

#1


    $("#childSUM").click(function () {
        var bgdsl = 0, ckmyje = 0, btje = 0;
        $("input[name='news_BGDH']").each(function () {
            if ($(this).val().trim().length == 0) {
                alert("您有单子没有输入单号信息,请检查!");
                bgdsl++;
                return;  //这里要直接跳出【$("#childSUM").click】这个函数,不是只跳出each循环应该怎么写
            }
        });
        if(bgdsl) return;
         var needBreak = false;
        $("input[name='news_BGRQ']").each(function () {
            if ($(this).val().trim().length == 0) {
                alert("您有单子没有输入日期,请检查!");
                 needBreak = true;
                return false;  //这里要直接跳出【$("#childSUM").click】这个函数,不是只跳出each循环应该怎么写
            }
        });
        if(needBreak ) return;
});

#2


没办法直接跳出each,要么你就别用each,自己写for循环,判断了直接return

#3


樓主知道break 關鍵字吧?

#4


用for的話可以使用break跳出迴圈
each裡用break似乎不影響jquery for的運作阿
像2f說的 自己寫循環會比較合樓主的需求

#5


你怎么知道没有跳出循环的?

#6



    $("#childSUM").click(function () {
        var bgdsl = 0, ckmyje = 0, btje = 0;

        var ok = true
        $("input[name='news_BGDH']").each(function () {
            if ($(this).val().trim().length == 0) {
                alert("您有单子没有输入单号信息,请检查!");
                bgdsl++;
                ok = false; ////////
                return false; //跳出each循环,无法从each里面直接跳出click事件,只能设置标志以便跳出each后判断是否跳出click
            }
        });
        if (!ok) return false; //跳出click事件
        $("input[name='news_BGRQ']").each(function () {
            if ($(this).val().trim().length == 0) {
                alert("您有单子没有输入日期,请检查!");
                ok = false;
                return false;  //跳出each就到函数结束了,跳出不跳出没关系
            }
        });
        return ok;//如果你的click事件要接受返回值就加这句,不接受可以去掉
    });

#7


我是先把要执行的先执行了,再进行判断的
                $("****").click(function () {
                    if (!this.checked) {
                        $('#selall').prop('checked', false)
                    }
                    else {
                        $("#selall").prop("checked", true);
                        $(".pro .selectbox").each(function () {
                            if ($(this).prop("checked")) {
                            }
                            else {
                                $('#selall').prop('checked', false)
                                return false;
                            }
                        });
                    }

#8


你懂的 
 $("#childSUM").click(function () {
        var isReturn = false;
        var bgdsl = 0, ckmyje = 0, btje = 0;
        $("input[name='news_BGDH']").each(function () {
            if ($(this).val().trim().length == 0) {
                alert("您有单子没有输入单号信息,请检查!");
                bgdsl++;
               isReturn = true;//这里要直接跳出【$("#childSUM").click】这个函数,不是只跳出each循环应该怎么写
            }
        });
         if(isReturn ) return;
        $("input[name='news_BGRQ']").each(function () {
            if ($(this).val().trim().length == 0) {
                alert("您有单子没有输入日期,请检查!");
                isReturn = true;  //这里要直接跳出【$("#childSUM").click】这个函数,不是只跳出each循环应该怎么写
            }
        });
         if(isReturn ) return false ;
});

#9


在jquery 的each中,跳出本次each 循环用return true (相当于continue);跳出整个循环用return false(相当于break);