JSFiddle - React, Tailwind, and code Playground

HTML

<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
<form id="employeeForm" name="employeeForm" method="POST">
    <script id="PhoneTemplate" type="text/html">
        <div>
            <span>
                <label>Country Code:</label>
                <input type="text" data-bind="value: countryCode"  />
            </span>
            <span><br/>
                <label>Date:</label>
                <input type="text" data-bind="datepicker: date"  />
            </span>
            <span>
                <label>Phone Number:</label>
                <input type="text" data-bind="value: phoneNumber" />
            </span>
            <input type="button" value="Remove" data-bind="click: $parent.remove" />
        </div>
    </script>
    <div>
        <h2>Employee Phone Number</h2>
        <div data-bind="template:{name:'PhoneTemplate', foreach:PhoneList}">
        </div>
        <div>
            <input type="button" value="Add Another" data-bind="click: add" />
        </div>
    </div>
</form>

JavaScript

// Adapted from this answer:
// http://stackoverflow.com/a/6613255/1634810
ko.bindingHandlers.datepicker = {
    init: function(element, valueAccessor, allBindingsAccessor) {
        //initialize datepicker with some optional options
        var options    = allBindingsAccessor().datepickerOptions || {},
            observable = valueAccessor(),
            $el        = $(element);
        
        // Adapted from this answer:
        // http://stackoverflow.com/a/8147201/1634810
        options.onSelect = function () {
            if (ko.isObservable(observable)) {
                observable($el.datepicker('getDate'));
            }
        };

        $el.datepicker(options);
        
        // set the initial value
        var value = ko.unwrap(valueAccessor());
        if (value) {
            $el.datepicker("setDate", value);
        }
       
        //handle disposal (if KO removes by the template binding)
        ko.utils.domNodeDisposal.addDisposeCallback(element, function() {
            $el.datepicker("destroy");
        });
    },
    update: function(element, valueAccessor) {
        var value = ko.utils.unwrapObservable(valueAccessor()),
            $el = $(element);

        //handle date data coming via json from Microsoft
        if (String(value).indexOf('/Date(') === 0) {
            value = new Date(parseInt(value.replace(/\/Date\((.*?)\)\//gi, "$1")));
        }

        var current = $el.datepicker("getDate");

        if (value - current !== 0) {
            $el.datepicker("setDate", value);
        }
    }
};

function Phone() {
    var self = this;
    
    self.countryCode = ko.observable('');
    self.date        = ko.observable('');
    self.phoneNumber = ko.observable('');
}  

function PhoneViewModel() {
    var self = this;
    self.PhoneList = ko.observableArray([new Phone()]);
    self.remove = function () {
        self.PhoneList.remove(this);
    };
    self.add = function () {
        self.PhoneList.push(new Phone());
   ...