我正在尝试在动态html表上应用多个过滤器。它工作正常,但第一行包含像empID,Name等标题。它不能被视为仅被认为是。我试过这样的东西,但它没有用。
$(document).ready(function(){
var $rows = $('#tblData tr');
console.log("akshansh");
$('#empId, #empName,#status').on('input', function() {
var val1 = $.trim($('#empId').val()).replace(/ +/g, ' ').toLowerCase();
var val2 = $.trim($('#empName').val()).replace(/ +/g, ' ').toLowerCase();
var val3= $.trim($('#status').val()).replace(/ +/g, ' ').toLowerCase();
$rows.show().filter(function() {
var text1 = $(this).find('tr:not(:first),td:nth-child(1)').text().replace(/\s+/g, ' ').toLowerCase();
var text2 = $(this).find('tr:not(:first),td:nth-child(2)').text().replace(/\s+/g, ' ').toLowerCase();
var text3 = $(this).find('tr:not(:first),td:nth-child(n+2)').text().replace(/\s+/g, ' ').toLowerCase();
return !~text1.indexOf(val1) || !~text2.indexOf(val2)|| !~text3.indexOf(val3);
}).hide();
});
});
此外,第三列是日期字段,那么我是否可以按日期过滤数据?
答案 0 :(得分:1)
你错过了:在第一个孩子之前
$("#tblData tr:not(:first-child)").hide();
答案 1 :(得分:0)
将表格结构化为
<table id='tblData'>
<thead>
<tr></tr>
</thead>
<tbody>
</tbody>
</table>
将第一行放入thead中,然后将其余部分放入tbody中。
这将使您有资格获得jquery
var $rows = $('#tblData tbody tr');