Bootstrap Table with Search Column Feature

Bootstrap Table with Search Column Feature

<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>Bootstrap Table with Search Column Feature</title> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto|Varela+Round"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css"> <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script> <style> body { color: #566787; background: #f7f5f2; font-family: 'Roboto', sans-serif; } .table-responsive { margin: 30px 0; } .table-wrapper { min-width: 1000px; background: #fff; padding: 20px 25px; border-radius: 3px; box-shadow: 0 1px 1px rgba(0,0,0,.05); } .table-title { color: #fff; background: #40b2cd; padding: 16px 25px; margin: -20px -25px 10px; border-radius: 3px 3px 0 0; } .table-title h2 { margin: 5px 0 0; font-size: 24px; } .search-box { position: relative; float: right; } .search-box .input-group { min-width: 300px; position: absolute; right: 0; } .search-box .input-group-addon, .search-box input { border-color: #ddd; border-radius: 0; } .search-box input { height: 34px; padding-right: 35px; background: #f4fcfd; border: none; border-radius: 2px !important; } .search-box input:focus { background: #fff; } .search-box input::placeholder { font-style: italic; } .search-box .input-group-addon { min-width: 35px; border: none; background: transparent; position: absolute; right: 0; z-index: 9; padding: 6px 0; } .search-box i { color: #a0a5b1; font-size: 19px; position: relative; top: 2px; } table.table { table-layout: fixed; margin-top: 15px; } table.table tr th, table.table tr td { border-color: #e9e9e9; } table.table th i { font-size: 13px; margin: 0 5px; cursor: pointer; } table.table th:first-child { width: 60px; } table.table th:last-child { width: 120px; } table.table td a { color: #a0a5b1; display: inline-block; margin: 0 5px; } table.table td a.view { color: #03A9F4; } table.table td a.edit { color: #FFC107; } table.table td a.delete { color: #E34724; } table.table td i { font-size: 19px; } </style> <script> $(document).ready(function(){ // Activate tooltips $('[data-toggle="tooltip"]').tooltip(); // Filter table rows based on searched term $("#search").on("keyup", function() { var term = $(this).val().toLowerCase(); $("table tbody tr").each(function(){ $row = $(this); var name = $row.find("td:nth-child(2)").text().toLowerCase(); if(name.search(term) < 0){ $row.hide(); } else{ $row.show(); } }); }); }); </script> </head> <body> <div class="container-lg"> <div class="table-responsive"> <div class="table-wrapper"> <div class="table-title"> <div class="row"> <div class="col-sm-6"> <h2>Customer <b>Details</b></h2> </div> <div class="col-sm-6"> <div class="search-box"> <div class="input-group"> <input type="text" id="search" class="form-control" placeholder="Search by Name"> <span class="input-group-addon"><i class="material-icons">&#xE8B6;</i></span> </div> </div> </div> </div> </div> <table class="table table-striped"> <thead> <tr> <th>#</th> <th style="width: 22%;">Name</th> <th style="width: 22%;">Address</th> <th>City</th> <th>Pin Code</th> <th>Country</th> <th>Actions</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>Thomas Hardy</td> <td>89 Chiaroscuro Rd.</td> <td>Portland</td> <td>97219</td> <td>USA</td> <td> <a href="#" class="edit" title="Edit" data-toggle="tooltip"><i class="material-icons">&#xE254;</i></a> <a href="#" class="delete" title="Delete" data-toggle="tooltip"><i class="material-icons">&#xE872;</i></a> </td> </tr> <tr> <td>2</td> <td>Maria Anders</td> <td>Obere Str. 57</td> <td>Berlin</td> <td>12209</td> <td>Germany</td> <td> <a href="#" class="edit" title="Edit" data-toggle="tooltip"><i class="material-icons">&#xE254;</i></a> <a href="#" class="delete" title="Delete" data-toggle="tooltip"><i class="material-icons">&#xE872;</i></a> </td> </tr> <tr> <td>3</td> <td>Fran Wilson</td> <td>C/ Araquil, 67</td> <td>Madrid</td> <td>28023</td> <td>Spain</td> <td> <a href="#" class="edit" title="Edit" data-toggle="tooltip"><i class="material-icons">&#xE254;</i></a> <a href="#" class="delete" title="Delete" data-toggle="tooltip"><i class="material-icons">&#xE872;</i></a> </td> </tr> <tr> <td>4</td> <td>Dominique Perrier</td> <td>25, rue Lauriston</td> <td>Paris</td> <td>75016</td> <td>France</td> <td> <a href="#" class="edit" title="Edit" data-toggle="tooltip"><i class="material-icons">&#xE254;</i></a> <a href="#" class="delete" title="Delete" data-toggle="tooltip"><i class="material-icons">&#xE872;</i></a> </td> </tr> <tr> <td>5</td> <td>Martin Blank</td> <td>Via Monte Bianco 34</td> <td>Turin</td> <td>10100</td> <td>Italy</td> <td> <a href="#" class="edit" title="Edit" data-toggle="tooltip"><i class="material-icons">&#xE254;</i></a> <a href="#" class="delete" title="Delete" data-toggle="tooltip"><i class="material-icons">&#xE872;</i></a> </td> </tr> </tbody> </table> </div> </div> </div> </body> </html>

What’s New:

  1. Added Search Feature: The search input allows filtering rows based on the customer name.

  2. Updated Table Layout: The table now has an added search box and custom styles for better presentation

Soeng Souy

Soeng Souy

Website that learns and reads, PHP, Framework Laravel, How to and download Admin template sample source code free.

Post a Comment

CAN FEEDBACK
close