Ajax-enabled Dynamic Data Table Plugin - jQuery zoiaTable
| File Size: | 124 KB |
|---|---|
| Views Total: | 3581 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
zoiaTable is a jQuery plugin for rending a dynamic AJAX data table with support for pagination, sorting, filtering and client/server side value processing.
Basic usage:
1. Load the minified version of the jQuery zoiaTable plugin after loading jQuery JavaScript library.
<script src="jquery.min.js"></script> <script src="jquery.zoiaTable.min.js"></script>
2. Create the basic html for the data table.
<table class="za-table" id="demo">
<thead>
<tr>
<th id="table1_name">name</th>
<th id="table1_email">E-mail</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
<div class="tablePagination"></div>
3. Activate the plugin and specify the data source to be loaded in the data table.
$('#table-demo').zoiaTable({
url: 'data.json'
});
4. To process the tabular data with checkboxes:
$('#table-demo').zoiaTable({
url: 'data.json',
fields: {
name: {
sortable: false,
process: (id, item, value) => {
return value;
}
},
email: {
sortable: false,
process: (id, item, value) => {
return value;
}
},
status: {
sortable: false,
process: (id, item, value) => {
switch (value) {
case 0:
return 'Disabled';
case 1:
return 'Active';
case 2:
return 'Administrator';
default:
return '–';
}
}
}
}
});
5. To specify the number of table rows to be displayed per page.
$('#table-demo').zoiaTable({
url: 'data.json',
limit: 5
});
6. Enable an input field to filter through your tabular data.
<input type="text" class="tableSearchInput" placeholder="Search">
7. All default configuration options.
$('#table-demo').zoiaTable({
limit: 10,
maxPages: 7,
html: {
spinnerHTML: '<div style="width:40px;height:40px;background-color:#333;-webkit-animation:sk-rotateplane 1.2s infinite ease-in-out;animation: sk-rotateplane 1.2s infinite ease-in-out;margin: auto;position: absolute;top:0;left:0;bottom:0;right:0"></div>',
spinnerWrapCSS: 'background:#fff;position:absolute;opacity:0.6',
headCSS: '@-webkit-keyframes sk-rotateplane{0%{-webkit-transform:perspective(120px)}50%{-webkit-transform:perspective(120px) rotateY(180deg)}100%{-webkit-transform:perspective(120px) rotateY(180deg) rotateX(180deg)}}@keyframes sk-rotateplane{0%{transform:perspective(120px) rotateX(0deg) rotateY(0deg);-webkit-transform:perspective(120px) rotateX(0deg) rotateY(0deg)}50%{transform:perspective(120px) rotateX(-180.1deg) rotateY(0deg);-webkit-transform:perspective(120px) rotateX(-180.1deg) rotateY(0deg)}100%{transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg);-webkit-transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}}',
listWrapStartHTML: '<ul class="za-pagination" za-margin>',
listWrapEndHTML: '</ul>',
itemPagePrevHTML: '<li><a href="#"><a class="zoia-page {elementId}PaginationLink" data-page="{page}"><span za-pagination-previous></span></a></li>',
itemPageNextHTML: '<li><a href="#"><a class="zoia-page {elementId}PaginationLink" data-page="{page}"><span za-pagination-next></span></a></li>',
itemPageHTML: '<li><a class="zoia-page {elementId}PaginationLink" data-page="{page}">{page}</a></li>',
itemPageDotsHTML: '<li class="za-disabled"><span>...</span></li>',
arrowDown: ' ▼',
arrowUp: ' ▲',
errorHTML: '<tr><td colspan="100%">{error}</td></tr>'
},
lang: {
error: 'Could not load data from server. Please try to refresh page in a few moments.',
noitems: 'No items to display'
},
sort: {},
loadOnStart: true,
onLoad: () => {}
});
This awesome jQuery plugin is developed by xtremespb. For more Advanced Usages, please check the demo page or visit the official website.









