2017-06-29 5 views
1

Ich habe Probleme mit diesem Code die Groß-und Kleinschreibung nicht beachten. Dieser Code wird online gefunden - (http://jsfiddle.net/bizamajig/radzq2o2/)JavaScript-Suche - case-insensitive

$(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); 
    }); 
    }); 

Aber ich kann nicht diesen Code zu bekommen scheinen, Groß- und Kleinschreibung zu sein. Ich habe verschiedene Dinge ausprobiert - aber nichts hat funktioniert. Kann mir jemand helfen?

Ich brauche diesen Code (oben), um zwischen Groß- und Kleinschreibung zu unterscheiden.

Vielen Dank!

+0

Sie regex versucht haben, mit? – Abrar

Antwort

2

return $(this).text().toString().indexOf(val.trim()) >= 0; 

zu

return $(this).text().toString().toLowerCase().indexOf(val.trim().toLowerCase()) >= 0; 

Hinweis Ändern Sie einfach die Verwendung von toLowerCase(). Wir konvertieren im Grunde beide Zeichenfolgen, die mit Kleinbuchstaben verglichen werden, bevor wir sie vergleichen.

Eine Gabel Ihrer Geige, mit der vorgeschlagenen Änderung: http://jsfiddle.net/kykuwppL/

+0

Omg - vielen Dank! Ich habe versucht das .toLowerCase, wo Sie es das erste Mal - aber nicht das zweite Mal am Ende! Do. ! DANKE! – Cassens

+0

Gern geschehen. Wenn das Ihr Problem gelöst hat, denken Sie bitte daran, die Lösung zu akzeptieren. :) –

+0

Ich hätte deine (bessere) Antwort vor :-P .. lesen sollen :-) –

0

konvertieren beide Strings .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); 
    }); 
    }); 
Verwandte Themen