函数在jQuery之后停止

时间:2014-03-29 19:06:36

标签: 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) 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()函数之后完成一个anithing,我对jquery和我没有那么好#&# 39;我想知道是否有我做错的事情,我无法提醒工作或其他任何事情。

示例:

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

编辑:

它实际上在谷歌Chrome上工作,但无法在iPhone的Safari上工作,这是我的最终目的地,所以解决方案必须适用于ios6 +上的Safari

1 个答案:

答案 0 :(得分:1)

您已在keyup函数中声明了countResults,因此它只在该范围内声明。所以当你尝试

时会抛出错误
countResults ++;

您应该将变量声明为全局函数:

 var countResults = "0";