具有不敏感值的搜索表

时间:2014-02-09 15:58:17

标签: javascript jquery

我有以下javascript:

    $.extend($.expr[':'], {
    'containsi': function(elem, i, match, array)
    {
        return (elem.textContent || elem.innerText || '').toLowerCase()
            .indexOf((match[3] || "").toLowerCase()) >= 0;
    }
});
$(function() {
    $("#search").on("keyup",function() {
        if (this.value != "") {
            $("#body tr").hide();
            $("#body tr:containsi('" + this.value + "')").show();
        } else {
            $('.table_elements').each(function () {
                $(this).show();
            });
        }
        completeSearch();
    });
});

这很好但是它有一个小bug。

区分大小写。

我搜索了stackoverflow并找到了以下函数:

    $.extend($.expr[':'], {
    'containsi': function(elem, i, match, array)
    {
        return (elem.textContent || elem.innerText || '').toLowerCase()
            .indexOf((match[3] || "").toLowerCase()) >= 0;
    }
});

然而,当我使用firebug进行调试时,它似乎不会进入函数

谁能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:1)

你在某个地方试过这个吗?你是如何调用自定义扩展的?

$("#body tr:containsi('" + this.value + "')").show();

是的,到目前为止似乎有效:

http://jsfiddle.net/Z7kxp/