从jquery foreach内部中断函数



我有一个简单的函数,如下

function funk()
{
    $.each(game, function(i, curr) {
        check = curr["value"];
        if(check=="") {
            alert("Please Fill");
            return false;
        }
    });
    alert("success");
    return false;
}

所以基本上,当调用函数funk时,当调用check is null时,我想提醒并退出该函数。但我有一个奇怪的问题,在$.each之后,alert("succes")也被调用;

仅仅因为您通过返回false来突破each()循环,并不意味着它将突破包装函数。

您必须设置一个变量,以便知道each()循环何时被故意提前终止:

function funk() {
  var broke = false;
  $.each(game, function(i, curr) {
    check = curr["value"];
    if(check=="") {
      alert("Please Fill");
      broke = true;
      return false;
    }
  });
  if (!broke)
    alert("success");
  return false;
}

最新更新