2015-10-02 54 views
0

我正在嘗試爲html列表框創建一個過濾器。該列表框從MySQL數據庫填充並正確加載所有內容。我有一個我輸入的文本框,並且列表過濾器完全基於輸入的內容。我真的需要這個不區分大小寫。換句話說,因爲它是如果我進入國會大廈A該函數返回所有以Capitol A開頭的條目我需要它返回以大寫字母開頭的所有條目。如何讓這個jquery過濾器不區分大小寫?

這是函數

$('#custsearch').keyup(function() { 
var valThis = this.value; 
    lenght = this.value.length; 

$('.cust').each(function() { 
    var text = $(this).text(), 
     textL = text, 
     htmlR = '<b>' + text.substr(0, lenght) + '</b>' + text.substr(lenght); 
    (textL.indexOf(valThis) == 0) ? $(this).html(htmlR).show() : $(this).hide(); 
}); 

});

+0

你嘗試轉換爲小寫首先使用JavaScript'.toLowerCase()'小寫? –

回答

3

都轉換值到使用toLowerCase()然後比較它們

$('#custsearch').keyup(function() { 
 
    var valThis = this.value, 
 
    length = valThis.length; 
 
    $('.cust').each(function() { 
 
    var $this = $(this), 
 
     text = $this.text(), 
 
     htmlR = '<b>' + text.substr(0, length) + '</b>' + text.substr(lenght); 
 
    (text.toLowerCase().indexOf(valThis.toLowerCase()) == 0) ? $this.html(htmlR).show(): $this.hide(); 
 
    }); 
 
});

+0

'length = this.value.length;'長度= valThis.length.trim()'更好,你可以做的另一件事是在'each'中緩存'this'引用' – Tushar

+0

'valThis = this .value.trim(),' –

+0

非常感謝您在修復上述錯字時儘快發揮作用。偉大的工作謝謝你。 – phpnoobie

相關問題