簡體   English   中英

如何擺脫$ .each循環?

[英]how to break from $.each loop?

我有一個jquery循環,其中將json數組切成5,現在我需要檢查鍵值是否為空。 一旦我檢查了5個元素,如果我的條件正常,它將打印5個數據,但是如果不打印該怎么辦? 它向我顯示了其他時間相同的時間。

這是我的jQuery代碼:

$.each(data.slice(0,5), function(key, value) {
              if(value.emailID!="")
              {
                $("#result-success").append("<p><a href='javascript:void(0)'>"+value.fullName+"<span>"+value.emailID+"</span></a></p>").addClass('before-search-message');
                $("#loader_gif").hide();    
              }
              else
              {
                $("#loader_gif").hide();
                $("#search-btn").removeAttr("disabled");
                $("#result-success").append("<p><a href='javascript:void(0)'>No Records Found!</span></a></p>").addClass('before-search-message'); 
              }
             });

如果我的emailID對於所有數組元素都是空白,那么它將附加5次並顯示消息“找不到記錄”,對此有什么解決辦法?

return false; = break;

return true; or return; = continue;

從Jquery Docs http://api.jquery.com/jQuery.each/

let found = false;
$.each(data.slice(0,5), function(key, value) {

              if(value.emailID!="")
              {
                $("#result-success").append("<p><a href='javascript:void(0)'>"+value.fullName+"<span>"+value.emailID+"</span></a></p>").addClass('before-search-message');
                $("#loader_gif").hide();
                found = true;
              }
             });

if(!found){

                $("#loader_gif").hide();
                $("#search-btn").removeAttr("disabled");
                $("#result-success").append("<p><a href='javascript:void(0)'>No Records Found!</span></a></p>").addClass('before-search-message'); 

}

就我而言,我認為,

var valid = false;
$.each(data.slice(0,5), function(key, value) {
    if(value.emailID!="") {
        $("#result-success").append("<p><a href='javascript:void(0)'>"+value.fullName+"<span>"+value.emailID+"</span></a></p>").addClass('before-search-message');
        $("#loader_gif").hide();
        valid = true;
}
});

if (!valid) {
    $("#loader_gif").hide();
    $("#search-btn").removeAttr("disabled");
    $("#result-success").append("<p><a href='javascript:void(0)'>No Records Found!</span></a></p>").addClass('before-search-message');
}

我希望這就是你想要的。

var hasData =false
$.each(data.slice(0,5), function(key, value)     {
          if(value.emailID!="")
          {
           hasData = true
            $("#result-success").append("<p><a   href='javascript:void(0)'>"+value.fullName+"<span>"+value.emailID+"</span></a></p>").addClass('before-search-message');
            $("#loader_gif").hide();    
          }

         });
       if(!hasData){
          $("#loader_gif").hide();
            $("#search-btn").removeAttr("disabled");
            $("#result-success").append("<p><a href='javascript:void(0)'>No  Records Found!</span></a></enter code herep>").addClass('before-search-message');}

這可能是您要尋找的。 您遍歷顯示無結果5次

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM