Это может быть немного поздно, но все вышеперечисленные предложения не сработали для меня, я нашел простое решение для этого.
Во-первых, что вызывает проблему:
JQuery назначает указатель даты идентификатору элемента. если вы клонируете элемент, то такой же идентификатор может быть также клонирован. который jQuery не любит. Вы можете получить либо ошибку нулевой ссылки, либо дату, назначенную первому полю ввода, независимо от того, в каком поле ввода вы щелкнули.
Решение:
1) уничтожить DatePicker
2) назначить новые уникальные идентификаторы для всех полей ввода
3) назначить указатель даты для каждого ввода
Убедитесь, что ваш ввод примерно такой
<input type="text" name="ndate[]" id="date1" class="n1datepicker">
Прежде чем клонировать, уничтожьте сборщик дат
$('.n1datepicker').datepicker('destroy');
После того, как вы клонируете, добавьте также эти строки
var i = 0;
$('.n1datepicker').each(function () {
$(this).attr("id",'date' + i).datepicker();
i++;
});
и происходит волшебство