在日期选择器中设置ISO8601格式

时间:2020-07-31 07:34:46

标签: javascript html jquery css

我有这段代码可以更改日期格式。我想知道如何使ISO格式成为默认格式,以便每次有人选择一个日期时,它都将以ISO8601 yy-mm-dd格式进行格式化,而无需再次选择。这是因为,如果我选择其他选项然后返回上一个选项,则仅采用格式。

<script>
  $(function() {
    $("#datepicker").datepicker();
    $("#format").on("change", function() {
      $("#datepicker").datepicker("option", "dateFormat", $(this).val());
    });
  });
</script>
<p>
  Date: <input type="text" id="datepicker" size="30">
</p>
<p>
  Format options:<br>
  <select id="format">
    <option value="yy-mm-dd" selected>ISO 8601 - yy-mm-dd</option>
    <option value="d M, y">Short - d M, y</option>
  </select>

1 个答案:

答案 0 :(得分:1)

要执行的操作,请根据select的默认值在初始化选项中设置dateFormat

$(function() {
  let $datepicker = $("#datepicker");
  let $format = $('#format');

  $datepicker.datepicker({
    dateFormat: $format.val()
  });

  $format.on("change", function() {
    $datepicker.datepicker("option", "dateFormat", this.value);
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css" />
<p>
  Date: <input type="text" id="datepicker" size="30">
</p>
<p>
  Format options:<br>
  <select id="format">
    <option value="yy-mm-dd" selected>ISO 8601 - yy-mm-dd</option>
    <option value="d M, y">Short - d M, y</option>
  </select>
</p>