Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery regexp表搜索不在所有列中搜索,仅在第一列中搜索_Jquery_Regex_Search_Html Table - Fatal编程技术网

jQuery regexp表搜索不在所有列中搜索,仅在第一列中搜索

jQuery regexp表搜索不在所有列中搜索,仅在第一列中搜索,jquery,regex,search,html-table,Jquery,Regex,Search,Html Table,我终于做到了,我可以通过搜索名字来过滤。但是,我无法通过在任何列中搜索值来对其进行筛选。例如,我希望能够输入'gmail',并且只显示在该行的任何表格单元格中有gmail的记录。即使我将class=“name”添加到每个td,它们也不会包含在搜索中 HTML: 姓名地址工作号码电话电子邮件 记录结束 约翰·史密斯在街上做假工1170405788996john@company.co 简·斯迈思1234假路工1180405788555jane@hercompany.co Alexey Fadeev

我终于做到了,我可以通过搜索名字来过滤。但是,我无法通过在任何列中搜索值来对其进行筛选。例如,我希望能够输入'gmail',并且只显示在该行的任何表格单元格中有gmail的记录。即使我将
class=“name”
添加到每个
td
,它们也不会包含在搜索中

HTML:


姓名地址工作号码电话电子邮件
记录结束
约翰·史密斯在街上做假工1170405788996john@company.co
简·斯迈思1234假路工1180405788555jane@hercompany.co
Alexey Fadeev12 Dubio LaneJob1190405788966af@anothercompany.co
Javascript:

<script>
    // Table Search
    $('#search').keyup(function() {
      var regex = new RegExp($('#search').val(), "i");
      var rows = $('table tbody tr');
      rows.each(function (index) {
        name = $(this).children(".name").html()
        if (name.search(regex) != -1) {
          $(this).show();
        } else {
          $(this).hide();
        }
      });
    });
</script>

//表格搜索
$(“#搜索”).keyup(函数(){
var regex=new RegExp($('#search').val(),“i”);
变量行=$('table tbody tr');
行。每个(函数(索引){
name=$(this.children(“.name”).html()
if(name.search(regex)!=-1){
$(this.show();
}否则{
$(this.hide();
}
});
});
我希望能够将类添加到
中我希望包含在搜索中的每个列或单元格中。任何提示?

当使用
.html()
方法时,它返回堆栈中第一个元素的html。我可以建议您更改这一行吗:

name = $(this).children(".name").html();
name = $(this).children(".name").html();
为此:

name = $(this).text();

您没有在tr使用中包含所有文本

$(this).html(); or $(this).text();
而不是

name = $(this).children(".name").html();