2012-03-17 139 views
2

我在我的网站下面的JavaScript:JavaScript在Firefox中运行,但不是IE或Chrome?

$(function() { 
    var $cells = $("td"); 

    $("#search").keyup(function() { 
     var val = $.trim(this.value).toUpperCase(); 
     if (val === "") 
      $cells.parent().show(); 
     else { 
      $cells.parent().hide(); 
      $cells.filter(function() { 
       return -1 != $(this).text().toUpperCase().indexOf(val); 
      }).parent().show(); 
     } 
    }); 
});​ 

Link to it in action.

此示例适用于所有的浏览器,所以我想这个问题是我的HTML某处。下面是相关的部分:

<div id="searchContainer"> 
       <input id="search" type="text"> 
      </div> 
       <table> 
       <tr> 
        <th>Username</th> 
        <th>Full name</th> 
        <th>Tick to select</th> 
       </tr> 
      @foreach (var user in result) { 
      <tr><td>@user.Username</td> <td>@user.FirstName @user.SecondName</td> 
       <td><input type="checkbox" name="userId" value="@user.UserId" /></td></tr> 
       } 

我想因为代码完美的作品在Firefox,但不会在Chrome或IE浏览器运行在所有必须是这里的错误。

+2

这是什么部分不起作用?在框中键入可在Chrome 17中过滤列表。 – 2012-03-17 19:58:29

+0

在Chrome中使用相同的JavaScript函数不能使用我的HTML进行过滤。 – 2012-03-17 20:12:13

+0

查看Chrome开发者工具窗口。控制台中是否有错误? – Nik 2012-03-17 20:16:53

回答

1

也许是因为你缺少闭合/在你输入搜索框......

<input id="search" type="text"> 

应该

<input id="search" type="text" /> 

如果没有,尝试发布生成的源,以保证什么客户端实际上并不是asp.net所看到的(我假设你正在使用Asp.net mvc和razor?)。

相关问题