Jquery- 过滤器 div 内部<li>



我列出了许多div,我希望能够添加一个输入字段,允许用户开始键入,并根据每个div过滤div。我正在尝试下面的代码,但它不起作用。

$("#search").keyup(function(){    
    var search_text = $('#search').val();
    var rg = new RegExp(search_text,'i');
    var liLength=$("#dataList li").length;     
    for (var i = 0; i < liLength; i++) {
        if ($(".address").text().search(rg) || $(".trustee").text().search(rg) || $(".borrower").text().search(rg)) {
            $("#dataList li")[i].style.display="block";
        } else {       
            $("#dataList li")[i].style.display="none";
        }
    }
});

Fiddle

没有定义contains方法。您可以改用String.prototype.match。此外,您还需要提供搜索块.address.trustee.borrower的上下文,以便在单个li元素中进行搜索:

$("#search").keyup(function () {
    var search_text = $('#search').val();
    var rg = new RegExp(search_text, 'i');
    $("#dataList li").each(function() {
        if ($(".address", this).text().match(rg) || $(".trustee", this).text().match(rg) || $(".borrower", this).text().match(rg)) {
            $(this).show();
        } else {
            $(this).hide();
        }    
    });
});

演示:http://jsfiddle.net/pbnjcy5u/1/

最新更新