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筛选表中筛选多列_Jquery_Html_Search_Indexing_Filter - Fatal编程技术网

在jQuery筛选表中筛选多列

在jQuery筛选表中筛选多列,jquery,html,search,indexing,filter,Jquery,Html,Search,Indexing,Filter,我的代码有问题。在使用过滤破折号的额外功能之前,我让人搜索了表中的所有3列。现在我只能搜索一个。我到处找了,找到了很多例子,但无法将其应用到下面的代码中。如果有人能帮我搜索全部3列,而不是索引为[0]的第一列。我想使用这种类型的方法进行过滤。我只是不知道如何在我自己的代码中实现。如果输入电话号码、姓名或id,它应该会找到它 <!DOCTYPE html> <html> <head> <style> * {

我的代码有问题。在使用过滤破折号的额外功能之前,我让人搜索了表中的所有3列。现在我只能搜索一个。我到处找了,找到了很多例子,但无法将其应用到下面的代码中。如果有人能帮我搜索全部3列,而不是索引为[0]的第一列。我想使用这种类型的方法进行过滤。我只是不知道如何在我自己的代码中实现。如果输入电话号码、姓名或id,它应该会找到它

<!DOCTYPE html>    
<html>   
<head>    
<style>    
* {    
  box-sizing: border-box;    
}

#myInput {    
  background-image: url('/css/searchicon.png');    
  background-position: 10px 10px;    
  background-repeat: no-repeat;    
  width: 100%;    
  font-size: 16px;    
  padding: 12px 20px 12px 40px;    
  border: 1px solid #ddd;    
  margin-bottom: 12px;    
}

#myTable {    
  border-collapse: collapse;    
  width: 100%;    
  border: 1px solid #ddd;    
  font-size: 18px;    
}

#myTable th, #myTable td {    
  text-align: left;    
  padding: 12px;    
}

#myTable tr {    
  border-bottom: 1px solid #ddd;    
}

#myTable tr.header, #myTable tr:hover {    
  background-color: #f1f1f1;    
}    
</style>

</head>    
<body>        

<h2>Number search</h2>    

<input type="text" id="myInput" onkeyup="myFunction()" placeholder="Search for names.." title="Type in a name">        

<table id="myTable">    
  <tr class="header">    
    <th style="width:60%;">Number</th>
    <th style="width:60%;">Name</th>
    <th style="width:60%;">ID</th>    
  </tr>    
  <tr>    
    <td>905-373-3333</td>
    <td>Mike</td>
    <td>4563</td>    
  </tr>    
  <tr>    
     <td>905-333-3333</td>
    <td>adam</td>
    <td>8963</td>    
  </tr>    
  <tr>    
    <td>416-373-3432</td>
    <td>Jim</td>
    <td>9363</td>    
  </tr>    
</table>        

<script>    
function myFunction() {    
  var input, filter, table, tr, td, i, cleanedFilter;    
  input = document.getElementById("myInput");    
  filter = input.value.toUpperCase();    
  table = document.getElementById("myTable");    
  tr = table.getElementsByTagName("tr");          

  cleanedFilter = filter.replace("-","");          

  for (i = 0; i < tr.length; i++) {    
    td = tr[i].getElementsByTagName("td")[0];            

    if (td) {    
      cellContent = td.innerHTML.toUpperCase().replace(/-/g,"");            

      if (cellContent.indexOf(cleanedFilter) > -1) {    
        tr[i].style.display = "";    
      } else {    
        tr[i].style.display = "none";    
      }    
    }           
  }    
}    
</script>        

</body>    
</html>

* {    
框大小:边框框;
}
#myInput{
背景图片:url('/css/searchicon.png');
背景位置:10px 10px;
背景重复:无重复;
宽度:100%;
字体大小:16px;
填充:12px 20px 12px 40px;
边框:1px实心#ddd;
边缘底部:12px;
}
#myTable{
边界塌陷:塌陷;
宽度:100%;
边框:1px实心#ddd;
字号:18px;
}
#myTable th,#myTable td{
文本对齐:左对齐;
填充:12px;
}
#myTable tr{
边框底部:1px实心#ddd;
}
#myTable tr.header,#myTable tr:hover{
背景色:#f1f1;
}    
号码搜索
数
名称
身份证件
905-373-3333
迈克
4563
905-333-3333
亚当
8963
416-373-3432
吉姆
9363
函数myFunction(){
var输入、过滤器、表格、tr、td、i、清洁过滤器;
输入=document.getElementById(“myInput”);
filter=input.value.toUpperCase();
table=document.getElementById(“myTable”);
tr=table.getElementsByTagName(“tr”);
cleanedFilter=过滤器。替换(“-”,“”);
对于(i=0;i-1){
tr[i].style.display=“”;
}否则{
tr[i].style.display=“无”;
}    
}           
}    
}    

这不起作用,因为您只测试索引0。您还应该得到索引1和2。这可能不是最好的解决方案。它起作用了


* {    
框大小:边框框;
}
#myInput{
背景图片:url('/css/searchicon.png');
背景位置:10px 10px;
背景重复:无重复;
宽度:100%;
字体大小:16px;
填充:12px 20px 12px 40px;
边框:1px实心#ddd;
边缘底部:12px;
}
#myTable{
边界塌陷:塌陷;
宽度:100%;
边框:1px实心#ddd;
字号:18px;
}
#myTable th,#myTable td{
文本对齐:左对齐;
填充:12px;
}
#myTable tr{
边框底部:1px实心#ddd;
}
#myTable tr.header,#myTable tr:hover{
背景色:#f1f1;
}    
号码搜索
数
名称
身份证件
905-373-3333
迈克
4563
905-333-3333
亚当
8963
416-373-3432
吉姆
9363
函数myFunction(){
var输入、过滤器、表格、tr、td、td1、td2、i、清洁过滤器;
输入=document.getElementById(“myInput”);
filter=input.value.toUpperCase();
table=document.getElementById(“myTable”);
tr=table.getElementsByTagName(“tr”);
cleanedFilter=过滤器。替换(“-”,“”);
对于(i=0;i-1 | | cellContent1.indexOf(cleanedFilter)>-1 | | cellContent2.indexOf(cleanedFilter)>-1){
tr[i].style.display=“”;
}否则{
tr[i].style.display=“无”;
}    
}          
}    
}    

这不起作用,因为您只测试索引0。您还应该得到索引1和2。这可能不是最好的解决方案。它起作用了


* {    
框大小:边框框;
}
#myInput{
背景图片:url('/css/searchicon.png');
背景位置:10px 10px;
背景重复:无重复;
宽度:100%;
字体大小:16px;
填充:12px 20px 12px 40px;
边框:1px实心#ddd;
边缘底部:12px;
}
#myTable{
边界塌陷:塌陷;
宽度:100%;
边框:1px实心#ddd;
字号:18px;
}
#myTable th,#myTable td{
文本对齐:左对齐;
填充:12px;
}
#myTable tr{
边框底部:1px实心#ddd;
}
#myTable tr.header,#myTable tr:hover{
背景色:#f1f1;
}    
号码搜索
数
名称
身份证件
905-373-3333
迈克
4563
905-333-3333
亚当
8963
416-373-3432
吉姆
9363
函数myFunction(){
var输入、过滤器、表格、tr、td、td1、td2、i、清洁过滤器;
输入=document.getElementById(“myInput”);
filter=input.value.toUpperCase();
table=document.getElementById(“myTable”);
tr=table.getElementsByTagName(“tr”);
cleanedFilter=过滤器。替换(“-”,“”);
对于(i=0;i