筛选动态创建的表行(jQuery)

时间:2018-09-04 18:39:56

标签: javascript jquery html

我必须根据搜索栏内提供的输入来过滤一个表(包含用户的姓名,姓氏,电话和地址)。

表的内容是通过jquery使用表单动态添加的。

到目前为止,以下代码是我迄今为止能够做的有关过滤表行的操作(它仅适用于html内编码的表行,不适用于通过jquery动态添加的表行)。

我知道可以在.on()函数上添加委托事件处理程序,但是我无法编写完成此任务的代码。

//Code that filters table rows according to user's search bar content

$("#search").on("keyup", function() {
  var value = $(this).val().toLowerCase();
  $("#myTable tr").filter(function() {
    $(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
  });
});
<input type="text" id="search" placeholder="Search for names..">
<!-- This is my search bar -->

非常感谢, 路卡(Luca P。)

1 个答案:

答案 0 :(得分:0)

您可以使用此功能

    $("#search").on("keyup", function() {
    var input, filter, table, tr, td, i;
    input = $("#search");
    filter = input.val().toUpperCase();
    table = $("#table");
    tr = table.find("tr");

    tr.each(function () {
        var linha = $(this);
        $(this).find('td').each(function () {
            td = $(this);
            if (td.html().toUpperCase().indexOf(filter) > -1) {
                linha.show();
                return false;
            } else {
                linha.hide();
            }
        })
})
})