如何使过滤搜索不区分大小写?

时间:2015-11-03 09:30:45

标签: jquery

这是JS脚本:

this.searchUsers = function(searchUsername) {
    if (searchUsername==='') return;
    var temp = ("[data-username*='"+searchUsername + "']";
    $("div .contactListItem").not(temp).hide();     
};

正常工作,但它在searchUsername上区分大小写。 如何让它运行不敏感? (没有变换数据用户名值)

2 个答案:

答案 0 :(得分:2)

正如您所见,属性选择器区分大小写。要修改此行为,您可以使用filter()

this.searchUsers = function(searchUsername) {
    if (searchUsername === '') 
        return;

    var temp = $("[data-username]").filter(function() {
        return $(this).data('username').toLowerCase().indexOf(searchUsername.toLowercase()) != -1;
    });
    $("div .contactListItem").not(temp).hide();     
};

答案 1 :(得分:0)

首先将javascript字符串转换为小写,然后比较它..

toLowerCase()方法返回转换为小写的调用字符串值。

有关详情,请查看https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase