2

テキストボックスの日付から完全な年を取得しようとしていますが、その日が 12 日を超えている場合は返されません (日付形式の問題であると思われます) が、どうすればこれを機能させることができますか?

   $(function() {
        $("#dateInput").datepicker({
            onSelect: function (dateText) {
                var birthDate = new Date($(this).val()).getFullYear();
                alert(birthDate); 
            },
            dateFormat: 'dd/mm/yy',
            constrainInput: true,
            changeMonth: true,
            changeYear: true,
            defaultDate: new Date()
        });
    });

例については、こちらを参照してください: http://jsfiddle.net/5JCRs/12/

ありがとう。

4

4 に答える 4

3

MM小文字の代わりに大文字を使用するmmと、うまくいくはずです。したがって、日付形式は次のようになります。

dateFormat: 'dd/MM/yy',
于 2012-12-06T11:38:43.570 に答える
2

指定された形式に従ってdatepicker.parseDate日付を解析する関数を使用できます。

$.datepicker.parseDate( format, value, settings ) - 指定された形式で文字列値から日付を抽出します。

関数を次のonSelectように変更する必要があります。

onSelect: function(dateText, inst) {
    var date = $.datepicker.parseDate(
        inst.settings.dateFormat || $.datepicker._defaults.dateFormat,
        dateText,
        inst.settings
    );
    alert(date.getFullYear());
}

datepicker.parseDate関数は、最初のパラメーターで日付形式を想定しています。この値を指定する最善の方法は、明示的に指定された日付形式を使用するか、デフォルトの日付形式に戻すことです。

デモはこちら

于 2012-12-06T11:44:40.630 に答える
0

dateFormatオプション値を「yy」に設定します。

$( "#dateInput" ).datepicker({ dateFormat: "yy" });

または、regional設定を使用している場合:

$.datepicker.regional["it"] = {
    //...
    , dateFormat: "yy"
    //...
}

ここでの参照。

于 2012-12-06T11:58:37.257 に答える
0

JQuery と Javascript の日付形式の違いだけです。javascript では、dateString を指定したときに可能な日付形式は次のとおりnew Date(dateString)です。

MM-dd-yyyy
yyyy/MM/dd
MM/dd/yyyy
MMMM dd, yyyy
MMM dd, yyyy

JQuery に dateFormat: 'mm/dd/yy' を指定すると、それが機能します。これは、javascript の MM/dd/yyyy に相当します。

于 2012-12-06T12:04:39.290 に答える