如何使用 jquery 将文本框中的文本用于过滤 html table 中的行?
How can I have text in a textbox be used to filter rows in an html table using jquery?
我有一个 html table 这样的:
<table>
<tr><th>Column Heading</th></tr>
<tr><td>ABC</td></tr>
<tr><td>DEF</td></tr>
<tr><td>ABC</td></tr>
<tr><td>223</td></tr>
<tr><td>ABCDEF</td></tr>
</table>
并且我有一个 html 文本框,当我在文本框中键入文本时我想要该功能,它使用该功能根据其中的内容过滤 html table 行第一列
因此,如果我在文本框中输入 "AB",其中 3 行仍会显示,而其他行将被隐藏。如果我删除 "AB" 然后所有行再次显示。
根据输入到文本框中的内容进行过滤,隐藏 html table 中行的最有效方法是什么?
我认为这应该能让你朝着正确的方向前进
$('#myTextbox').keyup(function() {
var text = $(this).val();
$('#myTable tr').each(function() {
if($(this).find('td').first().html() == text) {
$(this).show();
}
else {
$(this).hide();
}
});
});
在 html 试试这个:-
<input type="text" class="search"/>
<table>
<thead>
<tr><th>Column Heading</th></tr>
</thead>
<tbody>
<tr><td>ABC</td></tr>
<tr><td>DEF</td></tr>
<tr><td>ABC</td></tr>
<tr><td>223</td></tr>
<tr><td>ABCDEF</td></tr>
</tbody>
</table>
和Jquery:-
$('.search').keyup(function(){
var val=$(this).val().toLowerCase();
$('table tbody tr').hide();
var trs=$('table tbody tr').filter(function(d){
return $(this).text().toLowerCase().indexOf(val)!=-1;
});
trs.show();
});
HTML
<input type="textbox" id="text"/>
<table id="table">
<tr><th>Column Heading</th></tr>
<tr><td>ABC</td></tr>
<tr><td>DEF</td></tr>
<tr><td>ABC</td></tr>
<tr><td>223</td></tr>
<tr><td>ABCDEF</td></tr>
</table>
jQuery
$('#text').keyup(function() {
var text = $(this).val();
$('#table tr').each(function() {
var val = $(this).text();
if( val.toLowerCase().indexOf(text)>=0) {
$(this).show();
}
else {
$(this).hide();
}
});
});
我有一个 html table 这样的:
<table>
<tr><th>Column Heading</th></tr>
<tr><td>ABC</td></tr>
<tr><td>DEF</td></tr>
<tr><td>ABC</td></tr>
<tr><td>223</td></tr>
<tr><td>ABCDEF</td></tr>
</table>
并且我有一个 html 文本框,当我在文本框中键入文本时我想要该功能,它使用该功能根据其中的内容过滤 html table 行第一列
因此,如果我在文本框中输入 "AB",其中 3 行仍会显示,而其他行将被隐藏。如果我删除 "AB" 然后所有行再次显示。
根据输入到文本框中的内容进行过滤,隐藏 html table 中行的最有效方法是什么?
我认为这应该能让你朝着正确的方向前进
$('#myTextbox').keyup(function() {
var text = $(this).val();
$('#myTable tr').each(function() {
if($(this).find('td').first().html() == text) {
$(this).show();
}
else {
$(this).hide();
}
});
});
在 html 试试这个:-
<input type="text" class="search"/>
<table>
<thead>
<tr><th>Column Heading</th></tr>
</thead>
<tbody>
<tr><td>ABC</td></tr>
<tr><td>DEF</td></tr>
<tr><td>ABC</td></tr>
<tr><td>223</td></tr>
<tr><td>ABCDEF</td></tr>
</tbody>
</table>
和Jquery:-
$('.search').keyup(function(){
var val=$(this).val().toLowerCase();
$('table tbody tr').hide();
var trs=$('table tbody tr').filter(function(d){
return $(this).text().toLowerCase().indexOf(val)!=-1;
});
trs.show();
});
HTML
<input type="textbox" id="text"/>
<table id="table">
<tr><th>Column Heading</th></tr>
<tr><td>ABC</td></tr>
<tr><td>DEF</td></tr>
<tr><td>ABC</td></tr>
<tr><td>223</td></tr>
<tr><td>ABCDEF</td></tr>
</table>
jQuery
$('#text').keyup(function() {
var text = $(this).val();
$('#table tr').each(function() {
var val = $(this).text();
if( val.toLowerCase().indexOf(text)>=0) {
$(this).show();
}
else {
$(this).hide();
}
});
});