JSFiddle - React, Tailwind, and code Playground
HTML
<input class="s" rel=".data-grid" /><button id="btn_go">Go</button>
<table id="questions" class="data-grid">
<thead>
<tr>
<th class="name sortable default">Name</th>
<th class="title sortable default">Title</th>
</tr>
</thead>
<tbody>
<tr class="found">
<td class="name">Timothy Geitner</td>
<td class="title">Secretary of the Treasury</td>
</tr>
<tr class="found">
<td class="name">George Washington</td>
<td class="title">President</td>
</tr>
<tr class="found">
<td class="name">Joe Biden</td>
<td class="title">Vice President</td>
</tr>
<tr class="found">
<td class="name">Hillary Clinton</td>
<td class="title">Secretary of State</td>
</tr>
<tr class="found">
<td class="name">Donald Rumsfeld</td>
<td class="title">Secretary of Defense</td>
</tr>
<tr class="found">
<td class="name">Ronald Reagan</td>
<td class="title">President</td>
</tr>
<tr class="found">
<td class="name">Condoleeza Rice</td>
<td class="title">Secretary of State</td>
</tr>
<tr class="found">
<td class="name">Barack Obama</td>
<td class="title">President</td>
</tr>
</tbody>
</table>
CSS
.data-grid {
width: 100%;
}
.data-grid tr.not-found {
display: none;
}
.found:nth-child(even) {
background: #ccc;
}
.data-grid tr.found:nth-child(odd) {
background: #eee;
}
JavaScript
$j = jQuery.noConflict();
//Data Grid Search
$j(function() {
$j('.s').on('keyup',function() {
var search = $j(this).val();
var searchElement = $j(this).attr('rel');
var count = 0;
$j(searchElement).children('tbody').children('tr').each(function() {
var isFound = -1;
var tr = $j(this);
$j(this).children('td').each(function() {
if(!$j(this).hasClass('ignore-search')) {
if($j(this).html().search(search) != -1) {
isFound = 1;
}
}
});
if(isFound == -1) {
$j(tr).addClass('not-found');
$j(tr).removeClass('found');
} else {
$j(tr).addClass('found');
$j(tr).removeClass('not-found');
}
});
$j('tr').css('background', '#ccc');
$j('.found:visible').each(function(i){
if((i % 2) == 0) {
// even
$j(this).css('background', 'yellow');
}
});
});
});