2016-05-24 9 views
1

Ich habe eine Funktion, die ich verwende, um Inhalt in meinem Web mit einem Textfeld <input class="form-control" id="search" type="text" placeholder="Search" /> zu suchen, die Inhalte in verschiedenen Panels sind, so ist dies meine script.Suchtext, egal ob in Groß- oder Kleinschreibung

$('#search').keyup(function() { 
    var term = $(this).val(); 
    if (term != '') { 
     $('.panel').hide(); 
     $('.panel').filter(function() { 
      return $(this).text().indexOf(term) > -1 
     }).show(); 
    } else { 
     $('.panel').show(); 
    } 
}); 

, die mit der genau in Ordnung, aber nur funktioniert, passen, wenn ich in das Textfeld Hello schreiben zeigt mir nur die Hello Worte, aber ich brauche das zeigt mir hello, hEllO oder HELLO, alle die Zeichenfolge unabhängig von der Klein- oder Großbuchstaben.

Jede Hilfe wird wirklich geschätzt, sorry für meine schlechte Grammatik.

+1

[String.prototype.toLowerCase()] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase). Wenden Sie diese Methode sowohl auf den Inhalt der "Eingabe" als auch auf den Text an, der mit ihr verglichen wird. – melancia

Antwort

3

Konvertieren sowohl die Such-Zeichenfolge und der Text, den Sie suchen jetzt in Kleinbuchstaben:

return $(this).text().toLowerCase().indexOf(term.toLowerCase()) > -1 

More info on MDN

3

Try toLowerCase() Funktion von Pass case-sensitive Anpassung zu verwenden, wie:

$(this).text().toLowerCase().indexOf(term.toLowerCase()) > -1 
-1

Verwenden Sie .toUpperCase() sowohl Ihr Eingabewert und Filter val

+0

Warum Großbuchstaben? Sie können also "anders" sein als die zwei Antworten vor Ihnen? –

+1

Verwenden Sie ein beliebiges Groß- oder Kleinbuchstaben beide funktionieren – paranjothi

+2

Ja, ich weiß. Ich frage dich, warum du eine Antwort postest, die du schon zweimal beantwortet hast, mit weniger Informationen als die eine. –

Verwandte Themen