2014-02-09 31 views
0

我有以下的javascript:檢索表

$.extend($.expr[':'], { 
    'containsi': function(elem, i, match, array) 
    { 
     return (elem.textContent || elem.innerText || '').toLowerCase() 
      .indexOf((match[3] || "").toLowerCase()) >= 0; 
    } 
}); 
$(function() { 
    $("#search").on("keyup",function() { 
     if (this.value != "") { 
      $("#body tr").hide(); 
      $("#body tr:containsi('" + this.value + "')").show(); 
     } else { 
      $('.table_elements').each(function() { 
       $(this).show(); 
      }); 
     } 
     completeSearch(); 
    }); 
}); 

這工作得很好但是它有一個小bug。

區分大小寫。

我搜索計算器,發現如下功能:

$.extend($.expr[':'], { 
    'containsi': function(elem, i, match, array) 
    { 
     return (elem.textContent || elem.innerText || '').toLowerCase() 
      .indexOf((match[3] || "").toLowerCase()) >= 0; 
    } 
}); 

然而,當我使用Firebug它調試它似乎沒有進入功能

誰能告訴我什麼,我做錯了什麼?

+0

你如何調用新的功能?哪一行代碼?它似乎被稱爲包含,不只是包含? – Miro

+0

@miro我的錯誤更新問題 –

+0

你能包含你的html嗎? – Miro

回答

1

你試過這個地方嗎?你如何調用自定義擴展?

$("#body tr:containsi('" + this.value + "')").show(); 

是的,似乎至今這裏工作:

http://jsfiddle.net/Z7kxp/