2012-03-17 5 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. –

+0

Ввод в поле в Chrome не фильтруется с моим HTML, используя ту же функцию JavaScript. –

+0

Посмотрите в окне инструментов разработчика Chrome. Есть ли ошибки в консоли? – Nik

ответ

1

Может быть, потому, что вам не хватает закрытия/на вашем поле ввода поиска ...

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

должен быть

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

Если нет, попробуйте отправить сгенерированный источник, чтобы гарантировать, что клиент на самом деле происходит, а не то, что видит asp.net (я предполагаю, что вы используете Asp.net mvc с бритвой?).

Смежные вопросы