使用组合框类别和文本框javascript过滤

时间:2013-09-25 08:42:02

标签: javascript php codeigniter

文本输入过滤正在运行,但我不知道如何使用组合框实现类别。该类别是按年龄使用的。 请帮助我完成这项任务:(

这是我的示例代码

这是我的观点

<select>
    <option>all age</option>
    <option>16</option>
    <option>18</option>
    <option>20</option>
</select>

    <input />
     <table class="AvailableGroupLab availGrpLabs avalLabs">
        <thead>
        <tr>
            <th>Name</th>
            <th>Age</th>
        </tr>
         </thead>
    <tbody>

        <tr>
            <td><span>wewe</span>

            </td>
            <td>16</td>
        </tr>
        <tr>
            <td><span>Melvin</span>

            </td>
            <td>18</td>
        </tr>
        <tr>
            <td><span>Marvin</span>

            </td>
            <td>20</td>
        </tr>

            <tr>
            <td><span>wewex</span>

            </td>
            <td>20</td>
        </tr>
         </tbody>
    </table>

这是javascript

function filter(element) {
    var $trs = $('.AvailableGroupLab tbody tr').hide();
    var regexp = new RegExp($(element).val(), 'i');

    var $valid = $trs.filter(function () {
        return regexp.test($(this).find('td:first-child').text())
    }).show();

    $trs.not($valid).hide()
}

$('input').on('keyup change', function () {
    filter(this);
})

1 个答案:

答案 0 :(得分:1)

您的代码问题是您正在将正则表达式与tr的第一个子进行比较,而您的年龄是第二个孩子。

var $valid = $trs.filter(function () {
    return regexp.test($(this).find('td:eq(1)').text())
    // or 
    return regexp.test($(this).find('td:last-child').text())
}).show();

我希望这会对你有所帮助。