2013-10-19 62 views
1

有一个ID为#surch的搜索字段和一个有很多tr's和keyup的表格我想隐藏所有不包含输入字符串的表格tr's,需要收费。我将它与<script src...>嵌入到我的网站的所有文件中,并且在我的index.php上正常工作;在所有其他子页面上,它只在页面重新加载后才起作用。Javascript只能工作在页面重新加载

任何人都可以给我一些帮助,这让我疯狂。我试图添加一个php函数,每次增加javascript源代码(...sufu.js?updated=266),但它不能解决我的问题。

编辑:我也有谷歌的AdSense在我的网页上运行,这是同样的问题在这里。 AdSense只是在重新加载后运行。有任何想法吗 ?

var $rows = $('#table tr'); 
$('#surch').keyup(function() { 
    var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase(); 

    $rows.show().filter(function() { 
    var text = $(this).text().replace(/\s+/g, ' ').toLowerCase(); 
    return !~text.indexOf(val); 
    }).hide(); 
}); 
+3

拥有包括你的代码中的$(document)。就绪(函数(){/ *你的代码在这里* /} ); ?对于jquery mobile使用jQuery(document).on(“mobileinit”,function(){/ *您的代码在这里* /});对于特定页面jQuery(document).on('pageinit'....检出api http://api.jquerymobile.com/category/events/ – melc

+0

我也在我的页面上使用jquery和jquery mobile –

+0

听起来像你的函数试图在dom或jQuery准备好之前运行,重新加载资源被缓存,所以可用于你的函数。 – Moob

回答

0

这对我在这个JSFiddle中正常工作。 Try it out.

<input type=text id='surch'> 
<table id='table'> 
    <tr><td>x</td></tr> 
    <tr><td>y</td></tr> 
    <tr><td>z</td></tr> 
    <tr><td>p</td></tr> 
</table> 

当然我假设你的表有id“表”,你的$行选择需要。否则,您只需选择$('table tr')。

(编辑:也,是的,我认为你的JS文件上运行负荷)

+0

嘿谢谢,这在测试后没有任何区别。 –

相关问题