我正在使用带有jquery的bootstrap.js的asp.net mvc 5来构建一个项目。
在其中一个页面中,我正在生成一些动态HTML,这是一个包含员工列表的html表。
我正在尝试使用以下代码搜索内容。
在文本框的keyup事件中调用它。
jquery文件在这里引用:
@Scripts.Render("~/bundles/jquery")
活动注册地:
$(function(){
$('#txtFilter').keyup(function(){
FilterData();
});
});
标记:
<div class="popHeader">
Select Employee
</div>
<br>
<span>Filter:<input id="txtFilter" type="text"></span>
<br><br>
<table id="tblSearch" class="table">
<tbody><tr>
<th></th>
<th>
EmployeeId
</th>
<th>
Display Name
</th>
<th>
CurrentUsername
</th>
</tr>
<tr><td><a>Select</a></td><td>95961</td><td>Ankur</td><td>ankurda</td></tr><tr><td><a>Select</a></td><td>79761</td><td>Sameer </td><td>sameerba</td></tr><tr><td><a>Select</a></td><td>91060</td><td>Neeraj </td><td>Neerajsi</td></tr><tr><td><a>Select</a></td><td>83127</td><td>Pankaj </td><td>pankajpu</td></tr></tbody></table>
function FilterData()
{
debugger;
var $rows = $('#tblSearch tr');
var val = '^(?=.*\\b' + $.trim($(this).val()).split(/\s+/).join('\\b)(?=.*\\b') + ').*$',
reg = RegExp(val, 'i'),
text;
$rows.show().filter(function() {
text = $(this).text().replace(/\s+/g, ' ');
return !reg.test(text);
}).hide();
}
每当我在文本框中输入单个字母时,我都会收到以下错误。
Error:Microsoft JScript runtime error: Unable to get value of the property 'toLowerCase': object is null or undefined.
无法弄清楚出了什么问题。