Dans unfor循环
中当不满足之前的两个if
条件时,则弹出alert
提示框,由于做了遍历查询,所以alert
, il apparaîtra plusieurs fois en fonction du nombre de tableaux. Veuillez me dire comment tronquer cela pour qu'il n'apparaisse qu'une seule fois après le jugement ?
$(function(){ var jsons = [ {"id":"621234","info":"内容一"}, {"id":"62123456","info":"内容二"}, {"id":"624321","info":"内容三"}, ] function f(jsons,num) { var num8 = num.substr(0,8); var num6 = num.substr(0,6); var result6 = ''; var result8 = ''; for(var i = 0,len = jsons.length; i < len;i++) { var id = jsons[i].id; if(id == num8) { result8 = jsons[i].info.toString(); $("#card_info").fadeIn("500"); $("#close").fadeIn("500"); break; } if(id == num6) { result6 = jsons[i].info.toString(); $("#card_info").fadeIn("500"); $("#close").fadeIn("500"); } else{ alert("不符合条件"); } } return result8 ? result8 : result6; } $("#down").click(function(){ var user_info = $("#txt").val(); var table = document.getElementById("card_info"); table.innerHTML=(f(jsons, user_info)); }) });
Actuellement, si vous écrivez ainsi, la fenêtre pop-up apparaîtra trois fois en fonction du nombre de données json. . .
sinon si()
Mettez-le en dehors de la boucle for et l'alerte ne se produira que lorsque les valeursde result8 et result6 seront toutes deux vides.
Pourquoi ne pas casser quand id==6;?