jQuery datepicker динамический minDate искажает значение

Я создаю 2 сборщика даты:

<input id="from" readonly value="05-10-2014">
<input id="to" readonly value="09-10-2014">

$("#from").datepicker();
$("#to").datepicker();
console.log($("#from").val() + ' - ' + $("#to").val()); 

Обе даты отображаются правильно.

Теперь я устанавливаю minDate динамически:

$("#to").datepicker("option", "minDate", $("#from").val());
console.log($("#from").val() + ' - ' + $("#to").val()); 

2-е свидание исчезает.

Я уверен, что скучаю по чему-то очевидному. Пожалуйста помоги.

1 ответ

Решение

Именно из-за dateFormat формат даты по умолчанию mm/dd/yy, но когда вы передаете значение from как строка это не в том формате, который вызывает проблему.

Одним из возможных решений является установка dateFormat на указатель даты, например

$("#from, #to").datepicker({
  dateFormat: 'dd-mm-yy'
});
console.log($("#from").val() + ' - ' + $("#to").val());

$("#to").datepicker("option", "minDate", $("#from").val());
console.log($("#from").val() + ' - ' + $("#to").val());
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.js"></script>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/themes/redmond/jquery-ui.css">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.js"></script>

<input id="from" value="05-10-2014">
<input id="to" value="09-10-2014">

Другие вопросы по тегам