Lightweight jQuery Responsive Table Solution - resTables
File Size: | 8.2 KB |
---|---|
Views Total: | 2443 |
Last Update: | |
Publish Date: | |
Official Website: | Go to website |
License: | MIT |

resTables is a lightweight (3kb) jQuery responsive table plugin which converts your wide table into a stacked, 2-column table view on small screens for better readability.
How to use it:
1. Place jQuery library and the jQuery resTables plugin's script at the bottom of the webpage.
<script src="//code.jquery.com/jquery-3.1.1.slim.min.js"></script> <script src="restables.js"></script>
2. Call the function on the html table and we're ready to go.
$('table').resTables();
3. Be sure that your html table have thead
and tbody
elements as follows:
<table class="table table-bordered"> <thead> <tr> <th>#</th> <th>First Name</th> <th>Last Name</th> <th>Username</th> </tr> </thead> <tbody> <tr> <th scope="row">1</th> <td>Mark</td> <td>Otto</td> <td>@mdo</td> </tr> <tr> <th scope="row">2</th> <td>Mark</td> <td>Otto</td> <td>@TwBootstrap</td> </tr> <tr> <th scope="row">3</th> <td>Jacob</td> <td>Thornton</td> <td>@fat</td> </tr> <tr> <th scope="row">4</th> <td colspan="2">Larry the Bird</td> <td>@twitter</td> </tr> </tbody> </table>
4. Style the new table.
table.restables-clone { display: none; } table.restables-clone td { width: 50%; } table.restables-clone td:first-child { font-weight: bold; } table.restables-clone tr:first-child td { background: #333; color:#fff; }
5. Specify at which breakpoint the html table should be transformed by the plugin.
@media (max-width: 991px) { .container table.restables-origin { display: none; } .container table.restables-clone { display: table; } }
6. Default plugin settings.
$('table').resTables({ // The columns to be merged with the others. // Example: {1: [2, 3], 5: [6]} // Result: // - column with index 1 will contain values from columns: 1, 2, 3. // - column with index 5 will contain values from columns: 5, 6. merge: {}, // The columns to be moved to the given position. // Example: {1: 0} // Result: column with index 1 will be placed at the top of the table (index 0). move: {}, // The columns to be skipped. // Example: [3, 5] // Result: columns with indexes 3 and 5 will be skipped. skip: [], // The columns to be spanned. // Example: [2, 4] // Result: columns with indexes 2 and 4 will have only 1 column (value) and colspan=2 attribute. span: [], // The CSS cssClass that are added to the origin and cloned elements. cssClassOrigin: 'restables-origin', cssClassClone: 'restables-clone', // The list of attributes that should remain unique. // Example: ['id'] // Result: <div id="test"> will become <div id="test-restables-clone"> uniqueAttributes: ['id', 'for'], // The attribute suffix to make it unique. // Example: -unique-clone // Result: <div id="test"> will become <div id="test-unique-clone"> attributeSuffix: '-restables-clone', // The clone callback that is executed when cloning table element. // Usage example: function (clone) { clone.addClass('cloned-table') } cloneCallback: null, // The CSS classes of cells will be preserved in the cloned table element. preserveCellClasses: true });
Change log:
2016-12-01
- Added the option to preserve CSS cell classes
This awesome jQuery plugin is developed by codefog. For more Advanced Usages, please check the demo page or visit the official website.