Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.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
Javascript 动态输入字段的搜索功能_Javascript_Php_Jquery_Codeigniter - Fatal编程技术网

Javascript 动态输入字段的搜索功能

Javascript 动态输入字段的搜索功能,javascript,php,jquery,codeigniter,Javascript,Php,Jquery,Codeigniter,我有动态父类,在每个父类中我有100多个子测试。我有引导可折叠菜单,其中的内容将通过单击按钮显示或隐藏。我有名称为ep dp dt的动态类,如果我通过ep dp dt[0],我将搜索输入字段如果我通过ep dp dt[1]我只能搜索第一个类,那么我如何才能通过getElementsByClassName('ep-dp-dt')[dynamic_value]中的动态值呢 function myFunction() { var input, filter, table, tr, td, i;

我有动态父类,在每个父类中我有100多个子测试。我有引导可折叠菜单,其中的内容将通过单击按钮显示或隐藏。我有名称为ep dp dt的动态类,如果我通过
ep dp dt[0],我将搜索输入字段
如果我通过
ep dp dt[1]
我只能搜索第一个类,那么我如何才能通过
getElementsByClassName('ep-dp-dt')[dynamic_value]
中的动态值呢

function myFunction() {
  var input, filter, table, tr, td, i;
  input = document.getElementById("myInput");
  filter = input.value.toUpperCase();
  tr = document.getElementsByClassName('ep-dp-dt')[0].getElementsByTagName('tr');
  var i;
  for(var i = 0, length = tr.length; i < length; i++) {
  td = tr[i].getElementsByTagName("td")[1];

  if (td) {
    if (td.innerHTML.toUpperCase().indexOf(filter) > -1) {
      tr[i].style.display = "";
    } else {
      tr[i].style.display = "none";
    }
   }  
  }
}
函数myFunction(){
var输入、过滤器、表格、tr、td、i;
输入=document.getElementById(“myInput”);
filter=input.value.toUpperCase();
tr=document.getElementsByClassName('ep-dp-dt')[0].getElementsByTagName('tr');
var i;
对于(变量i=0,长度=tr.length;i-1){
tr[i].style.display=“”;
}否则{
tr[i].style.display=“无”;
}
}  
}
}
表结构如下所示:

<input type="text" id="myInput" onkeyup="myFunction()" placeholder="" title="" class="form-control pull-right">

<table id="collapse1" role="tabpanel" aria-labelledby="heading1" class="table table-bordered table-striped collapse1 collapse in" cellspacing="0" width="100%" aria-describedby="example_info" style="width: 100%; height: auto;">

    <thead>
      <tr class="patientinfo " role="row">
      <th></th>
       <th></th>
      </tr>
   </thead>
   <tbody class="ep-dp-dt">
        <td></td>
        <td></td>
    </tbody>
</table>


<table id="collapse2" role="tabpanel" aria-labelledby="heading2" class="table table-bordered table-striped collapse1 collapse in" cellspacing="0" width="100%" aria-describedby="example_info" style="width: 100%; height: auto;">

    <thead>
      <tr class="patientinfo " role="row">
      <th></th>
       <th></th>
      </tr>
   </thead>
   <tbody class="ep-dp-dt">
        <td></td>
        <td></td>
    </tbody>
</table>

。。。。 因此,您可以使用两个输入元素,一个用于基于索引的隐藏/显示表,另一个用于表中的实际搜索字符串

函数myFunctionIndex(idx){
document.queryselectoral('.ep dp dt').forEach(函数(el,i){
如果(idx.trim()==“”)
el.parentNode.style.display=“block”;
如果(i!=idx),则为else
el.parentNode.style.display=“无”;
其他的
el.parentNode.style.display=“block”;
});
}
函数myFunction(el){
var输入、过滤器、表格、tr、td、i;
输入=document.getElementById(“myInput”);
filter=input.value.toUpperCase();
var idxVal=document.getElementById(“索引”);
tr=document.queryselectoral('.ep dp dt tr');
for(设i=0,length=tr.length;i-1){
tr[i].style.display=“”;
}否则{
tr[i].style.display=“无”;
}
}  
} 
}
表索引:
搜索人:
第一表数据1
第一表数据2
第二表数据1
第二表数据2

动态值是如何传递给函数的?我是从数据库传递的。你能告诉我你是如何调用函数的吗……是的,我已经更新了我的表@mamunt这很好,但是你没有在任何地方调用myFunction函数……哇……工作得很好……非常感谢你的帮助,并清楚地介绍了它……非常感谢@Mamun@user5370838,请点击答案旁边的复选标记,将答案从灰色切换为已填写,以接受答案。谢谢。