JavaScript
Clone or download
Pull request Compare This branch is 1 commit ahead, 22 commits behind Rhyzz:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
LICENSE
README.md
repeatable-fields.jquery.json
repeatable-fields.js

README.md

Repeatable Fields

Plugin's Homepage with Demo

Description

Repeatable Fields is a jQuery plugin which let's you create a set of fields that can be made to repeat. You can do the following to a field that is repeatable:

  • Add new instance
  • Remove existing instance
  • Reposition an instance

The functionality that is provided by this plugin can also be referred to as:

  • Dynamic Fields Plugin
  • Dynamic Rows plugin
  • Add Remove Rows Plugin

Requirements

This plugin requires jQuery and jQuery UI Sortable.

Example

HTML

<div class="repeat">
	<table class="wrapper" width="100%">
		<thead>
			<tr>
				<td width="10%" colspan="4"><span class="add">Add</span></td>
			</tr>
		</thead>
		<tbody class="container">
		<tr class="template row">
			<td width="10%"><span class="move">Move</span></td>
	
			<td width="10%">An Input Field</td>
			
			<td width="70%">
				<input type="text" name="an-input-field[{{row-count-placeholder}}]" />
			</td>
			
			<td width="10%"><span class="remove">Remove</span></td>
		</tr>
		</tbody>
	</table>
</div>

JavaScript

jQuery(function() {
	jQuery('.repeat').each(function() {
		jQuery(this).repeatable_fields();
	});
});

Options

wrapper: '.wrapper',
container: '.container',
row: '.row',
add: '.add',
remove: '.remove',
move: '.move',
template: '.template',
before_add: null,
after_add: after_add,
before_remove: null,
after_remove: null,
sortable_options: null,
wrapper
Specifies an element that acts as a wrapper.
container
Specifies an element within the wrapper which acts as a container.
row
Specifies an element within the container that acts as a row holder. The row is what is repeated.
add
Specifies an element within the wrapper which let's you add more more
remove
Specifies an element within the row which let's you remove the current row
move
Specifies an element within the row which let's you reposition the current row.
template
Specifies an element within the container which acts as a row template.
before_add
Specifies a function to run before a row is added
after_add
Specifies a function to run after a row is added
before_remove
Specifies a function to run before a row is removed
after_remove
Specifies a function to run after a row is removed
sortable_options
Specifies an object that can contain Options, Methods and Events which are passed to jQuery UI Sortable