Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tiagofrancafernandes/d5cd57a21d6f27518216de8835c8b35a to your computer and use it in GitHub Desktop.
Save tiagofrancafernandes/d5cd57a21d6f27518216de8835c8b35a to your computer and use it in GitHub Desktop.
Busca em Tabela Bootstrap Table Search
<div class="form-group pull-right">
<input type="text" class="search form-control" placeholder="What you looking for?">
</div>
<span class="counter pull-right"></span>
<table class="table table-hover table-bordered results">
<thead>
<tr>
<th>#</th>
<th class="col-md-5 col-xs-5">Name / Surname</th>
<th class="col-md-4 col-xs-4">Job</th>
<th class="col-md-3 col-xs-3">City</th>
<th class="col-md-3 col-xs-3">City2</th>
</tr>
<tr class="warning no-result">
<td colspan="4"><i class="fa fa-warning"></i> No result</td>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td>Vatanay Özbeyli</td>
<td>UI & UX</td>
<td>Istanbul</td>
<td>Bozuyük</td>
</tr>
<tr>
<th scope="row">2</th>
<td>Burak Özkan</td>
<td>Software Developer</td>
<td>Istanbul</td>
<td>Bozuyük</td>
</tr>
<tr>
<th scope="row">3</th>
<td>Egemen Özbeyli</td>
<td>Purchasing</td>
<td>Bozuyük</td>
<td>Bozuyük</td>
</tr>
<tr>
<th scope="row">4</th>
<td>Engin Kızıl</td>
<td>Sales</td>
<td>Bozuyük</td>
<td>Bozuyük</td>
</tr>
<tr>
<th scope="row">5</th>
<td>Tiago França</td>
<td>Rio de Janeiro</td>
<td>Brasil</td>
<td>Brasil</td>
</tr>
</tbody>
</table>
$(document).ready(function() {
$(".search").keyup(function () {
var searchTerm = $(".search").val();
var listItem = $('.results tbody').children('tr');
var searchSplit = searchTerm.replace(/ /g, "'):containsi('")
$.extend($.expr[':'], {'containsi': function(elem, i, match, array){
return (elem.textContent || elem.innerText || '').toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0;
}
});
$(".results tbody tr").not(":containsi('" + searchSplit + "')").each(function(e){
$(this).attr('visible','false');
});
$(".results tbody tr:containsi('" + searchSplit + "')").each(function(e){
$(this).attr('visible','true');
});
var jobCount = $('.results tbody tr[visible="true"]').length;
$('.counter').text(jobCount + ' item');
if(jobCount == '0') {$('.no-result').show();}
else {$('.no-result').hide();}
});
});
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
body{
padding:20px 20px;
}
.results tr[visible='false'],
.no-result{
display:none;
}
.results tr[visible='true']{
display:table-row;
}
.counter{
padding:8px;
color:#ccc;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet" />
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment