Javascript 动态输入字段的搜索功能
我有动态父类,在每个父类中我有100多个子测试。我有引导可折叠菜单,其中的内容将通过单击按钮显示或隐藏。我有名称为ep dp dt的动态类,如果我通过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;
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,请点击答案旁边的复选标记,将答案从灰色切换为已填写,以接受答案。谢谢。