Jquery - 不区分大小写的搜索

时间:2017-12-19 11:38:16

标签: javascript jquery

function search() {
    $("#myInput").keyup(function() {
        var value = this.value;

        $("table").find("tr").each(function(index) {
            if (index === 0) return;
            var id = $(this).find("td").first().text();
            $(this).toggle(id.indexOf(value) !== -1);
        });
    });
}

上面的代码就是我用来在HTML中搜索我的表格,但是我无法想办法确保键入值,例如' hello'或者' HeLLo'它会在搜索时显示出来。基本上我所说的是 - 我该怎么做才能使这段代码不区分大小写?

2 个答案:

答案 0 :(得分:4)

同时使用小写或大写。

function search() {
    $("#myInput").keyup(function() {
        var value = this.value.toLowerCase();

        $("table").find("tr").each(function(index) {
            if (index === 0) return;
            var id = $(this).find("td").first().text().toLowerCase();
            $(this).toggle(id.indexOf(value) !== -1);
        });
    });
}

答案 1 :(得分:1)

为什么不添加一个特殊的方法来搜索一个字符串是否包含另一个不敏感的字符串?:

代码开头的某处:

String.prototype.contains = function(src) {
    var srcUpper = src.toUpperCase();
    var thisUpper= this.toUpperCase();
    return srcUpper.indexOf(thisUpper) > -1;
}

然后随时随地使用它(当然可以更改方法名称。

你的代码会变成这样:

function search() {
    $("#myInput").keyup(function() {
        var value = this.value;

        $("table").find("tr").each(function(index) {
            if (index === 0) return;
            var id = $(this).find("td").first().text();
            $(this).toggle(id.contains(value));
        });
    });
}