簡體   English   中英

jQuery 不區分大小寫的搜索

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM