在搜索javascript中忽略区分大小写

时间:2017-03-12 12:47:19

标签: javascript html search

我有这样的事情:

HTML

<input type="text" name="keyword" onkeyup="searchFunction()" style="width:300px;" />

Javscript

    function searchFunction() {
    $(".contact-name") /*Contact-name is the name of the div*/
    .hide()
    .filter(":contains('" + $("input[name='keyword']").val() + "')")
    .show();
    }

所以它有效,但是当div包含类似george的文本时,我在搜索文本框中键入GEORGE,它不起作用,你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

filter接受一个函数,所以我可能会使用它并进行不区分大小写的比较:

function searchFunction() {
    var find = $("input[name='keyword']").val().toLowerCase();
    $(".contact-name") /*Contact-name is the name of the div*/
    .hide()
    .filter(function() {
        return $(this).text().toLowerCase().indexOf(find) != -1;
    })
    .show();
}

我也很想不先把它们全部隐藏起来然后揭示比赛,而是单独更新它们:

function searchFunction() {
    var find = $("input[name='keyword']").val().toLowerCase();
    $(".contact-name") /*Contact-name is the name of the div*/
    .each(function() {
        var $this = $(this);
        $this.toggle($this.text().toLowerCase().indexOf(find) != -1);
    });
}