我的网站中有以下JavaScript:
$(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();
}
});
});
此示例适用于所有浏览器,因此我认为问题出在我的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中根本不运行。
答案 0 :(得分:1)
也许是因为您错过了输入搜索框中的结束/ ...
<input id="search" type="text">
应该是
<input id="search" type="text" />
如果没有,请尝试发布生成的源代码,以确保客户端实际上看到的是什么,而不是asp.net看到的内容(我假设你使用的是带有razor的Asp.net mvc?)。