I’m one of the contributors for the Meta Box Class here on Github (link) and before I get too deep, I wanted to ask if anyone knew of a straight forward way to allow users to add additional fields “on the fly”, having an “add” button with a text field to add additional fields (i.e. list items). I’ve seen this done a few ways in the past, but I’m all for not reinventing the wheel.
2 Answers
Agreed, I’ve seen it too, but I don’t think there’s any readily available API or method.
For me, I use a lick of jQuery;
<input type="text" class="list-item" name="list_items[]" />
<input type="button" class="button-secondary" id="add-list" />
<script type="text/javascript">
( function( $ ) {
$( '#add-list' ).click( function() {
var $item = $( '.list-item:last' ), $new = $item.clone();
$item.after( $new.val( '' ) );
}
})( jQuery );
</script>
Note that you might wanna tweak those selectors if you plan on having multiple ‘instances’ of these.