JSFiddle - React, Tailwind, and code Playground

by Tom DeBerardine

HTML

<input type="date" id="contratos_garantias_0_fecha_entrega" name="contratos[garantias][0][fecha_entrega]" required="required" value="2014-09-01" />
<input type="date" id="contratos_garantias_0_fecha_entrega_daci" name="contratos[garantias][0][fecha_entrega_daci]" required="required" value="2014-09-14" />
<hr/>
<input type="date" id="contratos_garantias_1_fecha_entrega" name="contratos[garantias][0][fecha_entrega]" required="required" value="2014-09-01" />
<input type="date" id="contratos_garantias_1_fecha_entrega_daci" name="contratos[garantias][0][fecha_entrega_daci]" required="required" value="2014-09-14" />
<hr />
<input type="date" id="contratos_garantias_2_fecha_entrega" name="contratos[garantias][0][fecha_entrega]" required="required" value="2014-09-01" />
<input type="date" id="contratos_garantias_2_fecha_entrega_daci" name="contratos[garantias][0][fecha_entrega_daci]" required="required" value="2014-09-14" />

JavaScript

var prefix = '_fecha_entrega';
var $inputs = $('input[id*="' + prefix + '"]');

$inputs.each(function (k, v) {

    if (k % 2 === 0) {
        var $second = $($inputs.get(k +1)).datepicker({
            dateFormat: 'yy-mm-dd'
        });

        var $first = $(v).datepicker({
            dateFormat: 'yy-mm-dd',
            onSelect: function (dateStr) {
                var newDate = $.datepicker.parseDate('yy-mm-dd', dateStr);
                newDate.setDate(newDate.getDate() + 14);
                $second.datepicker('setDate', newDate);
            }
        });
    }

});