JSFiddle - React, Tailwind, and code Playground

by Kunal Virk

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="container-fluid">
<table id="example" class="table table-striped datatable" cellspacing="0" width="100%">
        <thead>
            <tr>
                <th>
                Name
                <div class="dropdown colDropdown">
                      <button class="dropdown-toggle" type="button" data-toggle="dropdown"><span class="caret"></span></button>
                      <ul class="dropdown-menu">
                        <li><div class="inner-addon left-addon"><i class="glyphicon glyphicon-search"></i><p></p></div></li>
                        <div class="divider"></div>
                        <li><a href="#" id="sortAscName"><i class="fa fa-sort-amount-asc"></i> Sort Ascending</a></li>
                        <li><a href="#" id="sortDscName"><i class="fa fa-sort-amount-desc"></i> Sort Descending</a></li>
                      </ul>
                    </div>
                    </th>
                <th>
                Created By
                <div class="dropdown colDropdown">
                      <button class="dropdown-toggle" type="button" data-toggle="dropdown"><span class="caret"></span></button>
                      <ul class="dropdown-menu">
                        <li><div class="inner-addon left-addon"><i class="glyphicon glyphicon-search"></i><p></p></div></li>
                        <div class="divider"></div>
                        <li><a href="#"><i class="fa fa-sort-amount-asc"></i> Sort Ascending</a></li>
                        <li><a href="#"><i class="fa...

CSS

.datatable {border-radius:0 !important; border-bottom:none !important;}
.datatable th,
.datatable td,
.datatable thead,
.datatable tbody,
.fixed-table-container {border-radius:0 !important; font-family:'Open Sans';}
.content_table th {background-color:#eeeeee; font-family:'Open Sans'; font-size:14px; color:#181818;}
.colDropdown {float:right;}
.colDropdown button {border:none; background:none;}
.colDropdown .dropdown-menu {min-width:250px;}
.colDropdown .dropdown-menu li:last-child {margin-bottom:15px;}
.colDropdown .dropdown-menu li a {padding-top:5px; padding-bottom:5px;}
.inner-addon {position: relative; margin:0 10px;}
.inner-addon .glyphicon {position: absolute; padding: 10px; pointer-events: none;}
.left-addon .glyphicon  { left:  0px;}
.right-addon .glyphicon { right: 0px;}
.left-addon input  { padding-left:  30px; }
.right-addon input { padding-right: 30px; }

.documents-re {width:100%; float:left;}
.documents-re a {margin-top:5px; float:left;
}
.doc_icon {width:22px; height:30px; float:left; margin-right:15px; background:url(../images/doc-ico.png) no-repeat; position:relative;}
.doc_icon i {position:absolute; right:-6px; top:50%; background-color:#1d90fe; padding:3px; font-size:6px; color:#fff; margin-top:-5px; border-radius:50%; width:13px; height:13px; text-align:center; line-height:9px;}

JavaScript

$(document).ready(function() {
	
    var oTable = $('#example').DataTable({
		"ordering": false,
		"aoColumnDefs": [
      { "sType": "html", "aTargets": [ 0 ] }
    ]
	});
	
	$('#example th .dropdown-menu li .inner-addon p').each( function () {
        var title = $(this).parent("th").text();
        $(this).html( '<input type="text" placeholder="Search '+title+'" class="form-control" />' );
    } );
	
	oTable.columns().every( function () {
        var that = this;
 
        $( 'input', this.footer() ).on( 'keyup change', function () {
            if ( that.search() !== this.value ) {
                that
                    .search( this.value )
                    .draw();
            }
        } );
    } );
	
	function filterByName() {
		oTable.columns(0).search("^(?=.?(" + $('#searchName').val() + ")).?",
        true).draw();	
	}
	$('#searchName').on( 'keyup click', function () {
        filterByName();
    });

	$('#sortAscName').click(function () {
        oTable.columns(0).sort( [ [0,'asc'] ] );	
		console.log("happened");
    });
	
	$('#sortDscName').click(function () {
        oTable.columns(0).sort( [ [0,'desc'] ] );	
		console.log("happenedDSC");
    });
	
	$('.dropdown-menu').on({
		"click":function(e){
			e.stopPropagation();
		}
     });
	
});