jQuery Plugin To Duplicate & Resort Table Rows - Dynamicrows
| File Size: | 10.2 KB |
|---|---|
| Views Total: | 5811 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
Dynamicrows is a small jQuery plugin that makes it possible to clone and remove any element (e.g. form fields) in a table row with just one click.
Also provides a functionality to resort the table rows with drag and drop. Requires jQuery UI sortable widget.
More Features:
- Allows clone values typed in the form fields.
- Allows to fade in/out table rows on add/remove.
- Callback functions on add/remove/move/update.
How to use it:
1. Download and load the dynamicrows.min.js after jQuery.
<script src="/path/to/cdn/jquery.min.js"></script> <script src="/path/to/js/dynamicrows.js"></script>
2. Load the jQuery UI library (sortable widget) if you need the sortable functionality .
<script src="https://cdn.jsdelivr.net/npm/[email protected]/jquery-ui.min.js"></script>
3. Add clone/remove buttons and drag handle to your HTML table as follows:
<table data-dynamicrows>
<thead>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>E-Mail</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="text" name="contacts[0][firstname]"></td>
<td><input type="text" name="contacts[0][lastname]"></td>
<td><input type="text" name="contacts[0][email]"></td>
<td>
<i class="fa fa-minus" data-remove></i>
<i class="fa fa-arrows" data-move></i>
<i class="fa fa-plus" data-add></i>
</td>
</tr>
</tbody>
</table>
4. Attach the function dynamicrows() to the HTML table. Done.
$(function() {
$('[data-dynamicrows]').dynamicrows();
});
5. Customize the plugin by overriding the default configs as shown below:
$('[data-dynamicrows]').dynamicrows({
// CSS selector of table row
row: 'tr',
// CSS selector of tbody
rows: 'tbody',
// minimum number of table rows
minrows: 1,
// custom template while cloning
copyRow : null,
// clone form values
copyValues: false,
// element to hold row numbering
increment : null,
// prefix for form element that is ignored when the names are updated
form_prefix: '',
// prevent renaming form elements
prevent_renaming : false,
// add/remove/sort attributes
handle_add: '[data-add]:not(.disabled)',
handle_remove: '[data-remove]:not(.disabled)',
handle_move: '[data-move]:not(.disabled)',
// start index
index_start: 0,
// enable fade animation
animation: false, // 'fade'
animation_speed: 300
});
6. Callback functions.
$('[data-dynamicrows]').dynamicrows({
// parameter: $row
beforeAdd: null,
beforeRemove: null,
beforeMove: null,
beforeFormUpdateNames: null,
beforeAll: null,
afterAdd: null,
afterRemove: null,
afterMove: null,
afterFormUpdateNames: null,
afterAll: null,
});
Changelog:
2023-01-29
- fix name check
2020-10-03
- new options form_prefix and prevent_renaming
2020-10-03
- Bugfix reset select-values
This awesome jQuery plugin is developed by debrouchee. For more Advanced Usages, please check the demo page or visit the official website.










