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 に答える