JSFiddle - React, Tailwind, and code Playground

by Nicolás Pardo

HTML

<link rel="stylesheet" href="//cdn.datatables.net/1.10.6/css/jquery.dataTables.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.10.3/jquery-ui.js"></script>
<script src="https://cdn.datatables.net/1.10.5/js/jquery.dataTables.min.js"></script>
<button id='delete'>Delete from table 1</button>
<table border="0" cellpadding="5" cellspacing="5">
                                        <tbody><tr>
                                            <td>Minimum salary:</td>
                                            <td><input id="min" name="min" type="text"></td>
                                        </tr>
                                        <tr>
                                            <td>Maximum salary:</td>
                                            <td><input id="max" name="max" type="text"></td>
                                        </tr>
                                    </tbody></table>
                                    <table id="list" cellspacing="0" width="100%" class="table table-bordered table-display" data-info="true" data-search="true" data-paginate="true">
                                        <thead>
		<tr>
			<th>Nombre</th>
			<th>Apellido</th>
			<th>Email</th>
			<th>Ventas</th>
			<th>Action</th>
		</tr>
	</thead>
	<tbody>
    	<tr>
			<td>John 1</td>
			<td>Doe</td>
			<td>[email protected]</td>
			<td class="center">1</td>
			<td class="center"><a href="#"><i class="ui-tooltip fa fa-pencil" style="font-size: 22px;" data-original-title="Edit"></i></a></td>
		</tr>        
    	<tr>
			<td>John 2</td>
			<td>Doe</td>
			<td>[email protected]</td>
			<td class="center">5</td>
			<td class="center"><a href="#"><i class="ui-tooltip fa fa-pencil" style="font-size: 22px;" data-original-title="Edit"></i></a></td>
		</tr>           	<tr>
			<td>John </td>
			<td>Doe</td>
			<td>[email protected]</td>
			<td class="center">10</td>
			<td...

CSS

.row_selected{background-color: #FF9 !important; z-index:9999;}

JavaScript

var oTable;
    $("#list tbody tr").click( function( e ) {
        if ( $(this).hasClass('row_selected') ) {
            $(this).removeClass('row_selected');
        }
        else {
            oTable.$('tr.row_selected')//.removeClass('row_selected');
            $(this).addClass('row_selected');
        }
    });

    $('#delete').click( function() {
        var anSelected = fnGetSelected( oTable );
        for (var i = 0; i < anSelected.length; i++) {
            oTable.fnDeleteRow(anSelected[i]);
        };
    } );

    oTable = $('#list').dataTable( );

	$('#min, #max').keyup( function() {
		oTable.draw();
	} );


	$.fn.dataTable.ext.search.push(
		function( settings, data, dataIndex ) {
			var min = parseInt( $('#min').val(), 10 );
			var max = parseInt( $('#max').val(), 10 );
			var salary = parseFloat( data[3] ) || 0; 	 
			if ( ( isNaN( min ) && isNaN( max ) ) ||
				 ( isNaN( min ) && salary <= max ) ||
				 ( min <= salary   && isNaN( max ) ) ||
				 ( min <= salary   && salary <= max ) )
			{
				return true;
			}
			return false;
		}
	);
function fnGetSelected( oTableLocal ){
	return oTableLocal.$('tr.row_selected');
}