我列出了一些div,我希望能够添加一个允许用户开始输入的输入字段,并且可以按顺序过滤div
我正在尝试下面的代码,但它没有过滤。它也没有抛出任何错误,所以我不知道该做什么......
这是html标记:
<table class="table" id="tagstable">
<tbody>
<tr>
<td><label data-tagid="1" class="mt-checkbox mt-checkbox-outline"><input type="checkbox" class="chkclass">hotel tag<span></span></label></td>
<td><label data-tagid="2" class="mt-checkbox mt-checkbox-outline"><input type="checkbox" class="chkclass">yoga tag<span></span></label></td>
<td><label data-tagid="3" class="mt-checkbox mt-checkbox-outline"><input type="checkbox" class="chkclass">jogging tag<span></span></label></td>
<td><label data-tagid="4" class="mt-checkbox mt-checkbox-outline"><input type="checkbox" class="chkclass">exercise tag<span></span></label></td>
</tr>
<tr>
<td><label data-tagid="5" class="mt-checkbox mt-checkbox-outline"><input type="checkbox" class="chkclass">aerobic tag<span></span></label></td>
<td><label data-tagid="6" class="mt-checkbox mt-checkbox-outline"><input type="checkbox" class="chkclass">running tag<span></span></label></td>
<td><label data-tagid="23" class="mt-checkbox mt-checkbox-outline"><input type="checkbox" class="chkclass">Body Building<span></span></label></td>
<td><label data-tagid="24" class="mt-checkbox mt-checkbox-outline"><input type="checkbox" class="chkclass">BB<span></span></label></td>
</tr>
<tr>
<td><label data-tagid="25" class="mt-checkbox mt-checkbox-outline"><input type="checkbox" class="chkclass">one<span></span></label></td>
<td><label data-tagid="26" class="mt-checkbox mt-checkbox-outline"><input type="checkbox" class="chkclass">two<span></span></label></td>
<td><label data-tagid="27" class="mt-checkbox mt-checkbox-outline"><input type="checkbox" class="chkclass">three<span></span></label></td>
<td><label data-tagid="28" class="mt-checkbox mt-checkbox-outline"><input type="checkbox" class="chkclass">four<span></span></label></td>
</tr>
<tr>
<td><label data-tagid="29" class="mt-checkbox mt-checkbox-outline"><input type="checkbox" class="chkclass">five<span></span></label></td>
</tr>
</tbody>
</table>
<input id="filter" type="text" class="form-control" placeholder="Type here...">
$(document).ready(function(){
$('#filter').keyup(function(){
var tr = $('#tagstable tbody tr');
tr.hide();
tr.filter(function(){
return $(this).text();
}).show();
})
});
答案 0 :(得分:1)
尝试使用:contains
选择器获取具有输入字段值
执行以下操作:
$(document).ready(function()
{
$('#filter').keyup(function()
{
var val = this.value;
var tr = $('#tagstable tbody td');
el = tr.find('label:contains('+val+')').closest('td')
tr.not(el).fadeOut();
el.fadeIn();
})
});