0

我有一个输入字段,在页面加载时看起来像这样:

<input type="input" id="start_date" name="start_date" value="May 12, 2012"/>

我希望发生以下情况:

  • 当用户单击该字段输入日期时,格式将更改为 YYYY-MM-DD。(2012-05-12)
  • 用户离开该字段后,格式会更改回 MMM DD, YYYY(2012 年 5 月 12 日)。
  • 通过邮寄方式提交数据时,格式为 YYYY-MM-DD (2012-05-12)。

我将如何使用 jQuery 完成此任务?

4

1 回答 1

0

如果您不想依赖特定的框架/插件,可以这样做:

$("#start_date").click(function() {
    var d = new Date($(this).val());
    $(this).val(d.getFullYear() + "-"
        + String(d.getMonth() + 101).slice(-2) + "-"
        + String(d.getDate() + 100).slice(-2));
}).blur(function() {
    // Eventual format checking goes here

    var m = $(this).val().split("-"),
        d = new Date(m[0], m[1] - 1, m[2]),
        s = d.toString().split(" ");
    $(this).val(s[1] + " " + s[2] + ", " + s[3]);
});
于 2012-06-02T00:30:43.660 回答