在文本框的keyup事件中搜索Html表内的文本

时间:2014-06-20 07:24:42

标签: javascript jquery asp.net-mvc-5

我正在使用带有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.

无法弄清楚出了什么问题。

0 个答案:

没有答案