更改日期选择器日期格式

时间:2019-06-23 18:35:56

标签: jquery datepicker

我有2个日期选择器,第二个日期选择器的minDate是第一个日期选择器的日期。 问题是,如果我想将dateFormat变量中的值从“ mm / dd / yy”更改为“ dd-mm-yy”,则第二个日期选择器将丢失minDate。 我希望两个日期选择器中的日期格式均为“ dd-mm-yy”。

$(function() {
  var dateFormat = 'mm/dd/yy',
    from = $("#from")
    .datepicker({
      minDate: 0,
      numberOfMonths: 2
    })
    .on("change", function() {
      to.datepicker("option", "minDate", getDate(this));
    }),
    to = $("#to").datepicker({
      dateFormat: 'dd-mm-yy',
      numberOfMonths: 2
    })

  function getDate(element) {
    var date;
    try {
      date = $.datepicker.parseDate(dateFormat, element.value);
    } catch (error) {
      date = null;
    }

    return date;
  }
});
<link href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<input id="from" />
<input id="to" />

1 个答案:

答案 0 :(得分:1)

在您提供的代码中,您并没有在各处使用相同的日期格式。

$(function() {
  var dateFormat = 'dd-mm-yy',
    from = $("#from")
    .datepicker({
      minDate: 0,
      numberOfMonths: 2,
      dateFormat: dateFormat,
    })
    .on("change", function() {
      to.datepicker("option", "minDate", getDate(this));
    }),
    to = $("#to").datepicker({
      dateFormat: dateFormat,
      numberOfMonths: 2
    })

  function getDate(element) {
    var date;
    try {
      date = $.datepicker.parseDate(dateFormat, element.value);
    } catch (error) {
      date = null;
    }

    return date;
  }
});

在这里,我将变量dateFormat提供给修复它的日期选择器。