JSFiddle - React, Tailwind, and code Playground

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/chosen/1.0/chosen.jquery.js"></script>
<div class="more-files-template hidden">
    <label>Select Options</label>
    <select data-placeholder="You may select upto Two options" multiple tabindex="6" style="width: 280px; ">
        <option value=""></option>
        <optgroup label="NFC EAST">
            <option>Dallas Cowboys</option>
            <option>New York Giants</option>
            <option>Philadelphia Eagles</option>
            <option>Washington Redskins</option>
        </optgroup>
        <optgroup label="NFC NORTH">
            <option>Chicago Bears</option>
            <option>Detroit Lions</option>
            <option>Green Bay Packers</option>
            <option>Minnesota Vikings</option>
        </optgroup>
    </select> <a class="remove" href="#">remove</a>

</div>
<form id="form" action="/" method="post">
    <div class="files"></div>
</form>
<p><a href="#" class="copy-link">Add More</a>
</p>
<p><a href="#" class="form-submit-button">Submit form</a>
</p>

CSS

/* @group Base */
 .hidden {
    display:none;
}
.chosen-container {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    font-size: 13px;
    zoom: 1;
    *display: inline;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
}
.chosen-container .chosen-drop {
    position: absolute;
    top: 100%;
    left: -9999px;
    z-index: 1010;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    border: 1px solid #aaa;
    border-top: 0;
    background: #fff;
    box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
}
.chosen-container.chosen-with-drop .chosen-drop {
    left: 0;
}
.chosen-container a {
    cursor: pointer;
}
/* @end */

/* @group Single Chosen */
 .chosen-container-single .chosen-single {
    position: relative;
    display: block;
    overflow: hidden;
    padding: 0 0 0 8px;
    height: 23px;
    border: 1px solid #aaa;
    border-radius: 5px;
    background-color: #fff;
    background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #ffffff), color-stop(50%, #f6f6f6), color-stop(52%, #eeeeee), color-stop(100%, #f4f4f4));
    background: -webkit-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
    background: -moz-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
    background: -o-linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
    background: linear-gradient(top, #ffffff 20%, #f6f6f6 50%, #eeeeee 52%, #f4f4f4 100%);
    background-clip: padding-box;
    box-shadow: 0 0 3px white inset, 0 1px 1px rgba(0, 0, 0, 0.1);
    color: #444;
    text-decoration: none;
    white-space: nowrap;
    line-height: 24px;
}
.chosen-container-single .chosen-default {
    color: #999;
}
.chosen-container-single .chosen-single span {
    display: block;
    overflow: hidden;
    margin-right: 26px;
    text-overflow: ellipsis;
    white-space:...

JavaScript

$(main);

function main() {

    var fieldNumber = 0;
    var fieldNameAndID = "Opt_";
    var maxFieldsAllowed = 5;

    addField(fieldNumber);

    $(".copy-link").on("click", function (e) {
        e.preventDefault();

        addField(fieldNumber);
    });

    $(".files").on("click", "a", function (e) {
        e.preventDefault();

        fieldNumber = fieldNumber - 1;

        $(this)
            .parent()
            .slideUp(function () {
            $(this).remove();
        });
    });

    $(".form-submit-button").on("click", function (e) {
        e.preventDefault();

        alert($("#form").serialize());
    });


    function addField(index) {

        fieldNumber = index + 1;

        if (fieldNumber > maxFieldsAllowed) {
            fieldNumber = fieldNumber - 1;
            alert("Sorry! cannot add more than " + maxFieldsAllowed + " fields.");
            return false;
        }

        var newFieldNameAndID = fieldNameAndID + fieldNumber;

        var $new = $(".more-files-template")
            .clone(true)
            .removeClass("more-files-template hidden")
            .addClass("another-field");

        if (fieldNumber == 1) {
            $new.find(".remove").remove();
        }

        $(".files").append($new);

        $new.find("select")
            .attr({
            name: newFieldNameAndID,
            id: newFieldNameAndID
        })
            .chosen({
            max_selected_options: 2
        })
            .bind("chosen:maxselected", function () {
            alert("Maximum limit reached");
        });
    }

};