Javascript 在<;李>;使用Jquery标记

Javascript 在<;李>;使用Jquery标记,javascript,jquery,Javascript,Jquery,我需要有关如何在li标记内搜索的帮助。li列表包含以下格式的员工姓名[姓氏,名字]: Venkata,Anusha Raju,Suma HTML代码: <input type="text" id="comboBox" placeholder="Search.." /> <ul id="userList" class="nobull" style="width: 300px; height: 80px;list-style: none; overflow:auto;

我需要有关如何在
li
标记内搜索的帮助。
li
列表包含以下格式的员工姓名[姓氏,名字]:

Venkata,Anusha  
Raju,Suma
HTML代码:

<input type="text"  id="comboBox" placeholder="Search.." />
  <ul id="userList"  class="nobull" style="width: 300px; height: 80px;list-style: none; overflow:auto;padding-left:0;">
它运行得很好,但前提是我搜索时使用首字母大写。
有没有办法使搜索不区分大小写,也可以基于名字或姓氏进行搜索?

一种可能的方法是使用regx

$(document).ready(function () {
    $('#comboBox').bind('keydown keypress keyup change', function() {
        // this will hide all your li!!!
        $("#userList li").hide();

        // define case-insensitive regx
        var reg = new RegExp(this.value, "i");
        //for each li would you require to match?
        $("#userList li").filter(function() {
           return reg.test($(this).text()); 
        }).show();

     });
});

可以进行不区分大小写的搜索,jQuery允许您添加自己的选择器表达式,我们可以使用它来构建自己的更合理的包含过滤器:示例如下

jQuery.expr[':'].Contains = function(a,i,m){
    return (a.textContent || a.innerText || "").toUpperCase().indexOf(m[3].toUpperCase())>=0;
};
这将为选择器添加一个:Contains()(注意大写)选项,该选项的作用与:Contains()相同,但它首先将所有文本转换为大写,然后比较它们。因此,一旦我们将其添加到JavaScript中,我们在listFilter函数中所要做的就是将:contains()替换为contains(),我们有了一种快速、简单、逐步增强的方法来过滤大列表

您可以在搜索功能中引用此链接,
希望这能对您有所帮助。

您的代码中的li标记在哪里?无论如何,$(this).text().toLowerCase().indexOf(search.toLowerCase())不起作用…是否有其他方法…首先为搜索文本和li文本设置小写文本,然后警告它或检查两者是否相同。然后试着找到它的索引text@AnushaVinod请接受答案,以便对其他人有用。此问题也可以结束。非常感谢。
jQuery.expr[':'].Contains = function(a,i,m){
    return (a.textContent || a.innerText || "").toUpperCase().indexOf(m[3].toUpperCase())>=0;
};