JSFiddle - React, Tailwind, and code Playground
HTML
<input type="text" id="search" placeholder="Type to search">
<table id="table" style="width: 100%" cellpadding="10">
<tbody>
<tr>
<td rowspan="3">Foo Bar</td>
<td>Roll No:</td>
<td>something</td>
</tr>
<tr>
<td>something</td>
<td>stuff</td>
</tr>
<tr>
<td>something</td>
<td>stuff</td>
</tr>
</tbody>
<tbody>
<tr>
<td rowspan="3">Baz Bak</td>
<td>Roll No:</td>
<td>something</td>
</tr>
<tr>
<td>something</td>
<td>stuff</td>
</tr>
<tr>
<td>something</td>
<td>stuff</td>
</tr>
</tbody>
<tbody>
<tr>
<td rowspan="3">Baz Bar</td>
<td>Roll No:</td>
<td>something</td>
</tr>
<tr>
<td>something</td>
<td>stuff</td>
</tr>
<tr>
<td>something</td>
<td>stuff</td>
</tr>
</tbody>
</table>
CSS
body {
padding: 20px;
}
input {
margin-bottom: 5px;
padding: 2px 3px;
width: 209px;
}
td {
padding: 4px;
border: 1px #CCC solid;
width: 100px;
}
JavaScript
var $rows = $('#table tbody');
$('#search').keyup(function () {
var val = '^(?=.*\\b' + $.trim($(this).val()).split(/\s+/).join('\\b)(?=.*\\b') + ').*$',
reg = RegExp(val, 'i'),
text;
$rows.show().filter(function () {
text = $(this).text().replace(/\s+/g, ' ');
return !reg.test(text);
}).hide();
});