首页 > 解决方案 > 在 datepicker 中设置 ISO8601 格式

问题描述

我有这段代码可以更改日期的格式。我想知道如何将 ISO 格式设为默认格式,这样每次有人选择一个日期时,它都会被格式化为 ISO8601yy-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>

标签: javascripthtmljquerycss

解决方案


要执行您需要的操作,请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>


推荐阅读