函数在 jQuery 之后停止

Function stops after jQuery each

本文关键字:之后 jQuery 函数      更新时间:2023-09-26

我有这个功能:

function accentFold(inStr) {
    return inStr.replace(/([àáâãäå])|([ç])|([èéêë])|([ìíîï])|([ñ])|([òóôõöø])|([ß])|([ùúûü])|([ÿ])|([æ])/g,
                          function(str,a,c,e,i,n,o,s,u,y,ae) { 
                              if(a) return 'a'; 
                              else if(c) return 'c'; 
                              else if(e) return 'e'; 
                              else if(i) return 'i'; 
                              else if(n) return 'n';
                              else if(o) return 'o'; 
                              else if(s) return 's'; 
                              else if(u) return 'u'; 
                              else if(y) return 'y'; 
                              else if(ae) return 'ae'; 
                           });
}
function checkResults(searchString) {
    jQuery('.swiper-slide').each(function() {
        var currentElement = $(this);
        var valorname = currentElement.find("p").html();
        var valornamelatin = accentFold(valorname);
        var searchResult = valorname.match(searchString, "i");
        var searchResultLatin = valornamelatin.match(searchString, "i");
        if (searchResult != null || searchResultLatin != null){
            currentElement.show();
            countResults ++;
        } else {
            currentElement.hide();
        }
        swiperCatego01.reInit();
    });
    alert ("One Alert");
}
$(document).ready(function() {
    $('#friendsSearch').keyup(function(){
        var searchString = $(this).val();
        var countResults = "0";
        checkResults(searchString);
        alert(countResults);
        if (countResults == 0) {
            $('#nohayCoincidencias').fadeIn();
        } else {
            $('#nohayCoincidencias').hide();
            swiperCatego01.reInit();
        }
    });
})

此函数的作用是通过输入文本框在人员列表中搜索匹配的姓名。这些函数可以正常工作,隐藏不包含搜索条件的名称,但奇怪的是我可以在 .each() 函数之后完成动漫,我对 jQUery 不是那么好,我想知道是否有我做错了什么,我无法发出工作警报或其他任何事情。

示例在:

http://design.rankon.me/appdesign/invitetemplate.php

编辑:

它实际上适用于谷歌浏览器,但无法在iPhone的Safari上运行,这是我的最终目的地,因此该解决方案必须在ios6 +上的Safari上运行

您已在 keyup 函数中声明了 countResults,因此它仅在该范围内声明。所以当你尝试做时它会抛出错误

countResults ++;

您应该将变量声明为高于所有函数的全局变量:

 var countResults = "0";