Add custom fields within meta box class “on the fly”

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.

Related posts

Leave a Reply

2 comments

  1. 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.