我遇到了使这段代码不区分大小写的麻烦。 此代码可在线找到 - (http://jsfiddle.net/bizamajig/radzq2o2/)
$(function(){
// Instantiate MixItUp:
$container = $('.cd-gallery')
$container.mixItUp();
$('#filter').keyup(function(){
var val = $(this).val();
var state = $container.mixItUp('getState');
var $filtered = state.$targets.filter(function(index, element){
return $(this).text().toString().indexOf( val.trim() ) >= 0;
});
$container.mixItUp('filter', $filtered);
});
});
但我似乎无法让这段代码不区分大小写。 我尝试了不同的东西 - 但没有任何效果。谁能帮我?
我需要此代码(上面)不区分大小写。
谢谢!
答案 0 :(得分:2)
只需更改
return $(this).text().toString().indexOf( val.trim() ) >= 0;
到
return $(this).text().toString().toLowerCase().indexOf( val.trim().toLowerCase() ) >= 0;
请注意toLowerCase()的使用。在比较之前,我们基本上将被比较的字符串转换为小写字母。
你的小提琴的叉子,建议的改变:http://jsfiddle.net/kykuwppL/
答案 1 :(得分:0)
转换字符串 .toLowerCase():
var val = $(this).val().toLowerCase();
return $(this).text().toString().toLowerCase().indexOf(val.trim()) >= 0;
$(function(){
// Instantiate MixItUp:
$container = $('#projects')
$container.mixItUp();
$('#filter').keyup(function(){
var val = $(this).val().toLowerCase();
var state = $container.mixItUp('getState');
var $filtered = state.$targets.filter(function(index, element){
return $(this).text().toString().toLowerCase().indexOf( val.trim() ) >= 0;
});
$container.mixItUp('filter', $filtered);
});
});