我有这个功能:
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
答案 0 :(得分:1)
您已在keyup函数中声明了countResults,因此它只在该范围内声明。所以当你尝试
时会抛出错误countResults ++;
您应该将变量声明为全局函数:
var countResults = "0";