[英]Case insensitive search with jQuery
我使用下面的腳本搜索表格以顯示與用戶輸入匹配的結果。 如果你在一個資本“K”,並以較低的“K”所期望的結果開始打字,結果根本不會出現,因為它不完全匹配的用戶輸入。 如何選擇不區分大小寫的.value()
?
$("#search_input").keyup(function() {
var value = this.value;
$("#table").find(".table_row").each(function(index) {
if (!index) return;
var id = $(this).find(".table_cell").first().text();
$(this).toggle(id.indexOf(value) !== -1);
});
});
您提供的腳本的一部分,按原樣比較字符串。 最好將表格單元格的用戶輸入和文本 id 小寫,以便比較兩個結果,然后切換您需要的內容。
$("#content").keyup(function() {
var value = this.value.toLowerCase();
$("#table").find(".table_row").each(function(index) {
if (!index) return;
var id = $(this).find(".table_cell").first().text();
if (id.toLowerCase().indexOf(value) !== -1) {
$(this).toggle();
}
});
});
還有一件事要補充。 只是好奇,為什么要將字符串比較的結果傳遞給 toggle ? Toggle期望兩個可選參數:持續時間和完整的回調函數。 如果您不需要加速或事后做某事,您只需按原樣切換即可。
沒有參數, .toggle() 方法只是切換元素的可見性
對於可搜索元素和用戶輸入,我只需使用toLowerCase()
來比較兩者的小寫值就足夠了。
$("#search_input").keyup(function() {
var value = this.value.toLowerCase();
$("#table").find(".table_row").each(function(index) {
if (!index) return;
var id = $(this).find(".column-namelist").first().text();
$(this).toggle(id.toLowerCase().indexOf(value) !== -1);
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.