Javascript 函数在每次jQuery之后停止

Javascript 函数在每次jQuery之后停止,javascript,jquery,search,hide,each,Javascript,Jquery,Search,Hide,Each,我有这个功能: function accentFold(inStr) { return inStr.replace(/([àáâãäå])|([ç])|([èéêë])|([ìíîï])|([ñ])|([òóôõöø])|([ß])|([ùúûü])|([ÿ])|([æ])/g, function(str,a,c,e,i,n,o,s,u,y,ae) { if(a) retur

我有这个功能:

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不是很在行,我想知道是否有什么地方我做错了,我不能发出警报或做其他任何事情

例如:

编辑:


它实际上在Google Chrome上运行,但在iPhone的Safari上无法运行,而iPhone是我的最终目的地,因此该解决方案必须在ios6+上的Safari上运行。

您已经在keyup函数中声明了countResults,所以它只在该范围内声明。所以当你试着去做的时候,它会抛出错误

countResults ++;
您应该将变量声明为所有函数之上的全局变量:

 var countResults = "0";

您是对的,只是您的变量也不会是全局变量,因此除非您将
checkResults
移动到
.ready()
回调中,否则
checkResults
将无法看到它。没错,他没有注意到在.ready()回调之外有这些函数。EditdThat’s great,这就是我解决它所做的,我在.each()循环中进行了检查,循环中有一个变量,因此它的结果如下:。谢谢大家@cookie monster@juvian!它工作得很好。