0

datePickerが複数の日付を選択できるようになりました。ユーザーが複数の日付を選択してカレンダーを閉じると、テキストボックスに次の形式で日付が表示されます。

Thur Jan 03 2013 00:00:00 GMT +0000
Fri Jan 03 2013 00:00:00 GMT +0000
Sat Jan 04 2013 00:00:00 GMT +0000,

私のコード:

<script>

            $("#HolidayDate").addClass('date-pick');
            $('.date-pick').datePicker//({dateFormat: 'dd-mm-yy'}).val();
            (
                    {
                        createButton: false,
                        displayClose: true,
                        closeOnSelect: false,
                        selectMultiple: true,                  
                    }
            )
            .bind(
                'click',
                function () {
                    $(this).dpDisplay();
                    this.blur();
                    return false;
                }
            )
            .bind(
                'dateSelected',
                function (e, selectedDate, $td, state) {
                    console.log('You ' + (state ? '' : 'un') // wrap
                        + 'selected ' + selectedDate);
                }
            )
            .bind(
                'dpClosed',
                function (e, selectedDates) {
                    console.log('You closed the date picker and the ' // wrap
                        + 'currently selected dates are:');
                    console.log(selectedDates);
                    $('#HolidayDate').val( selectedDates );
                }
            );

    </script>

ただし、日付をdd-mm-yyと表示したいのですが。コメント欄を使用する場合

$('.date-pick').datePicker//({dateFormat: 'dd-mm-yy'}).val();

and run it as    $('.date-pick').datePicker({dateFormat: 'dd-mm-yy'}).val();

テキストボックスは正しい形式で日付を返しますが、今では一度に1つの日付しか選択できません。

ご意見をお聞かせください?

ありがとう

4

2 に答える 2

2

.bind(Date.format ='dd-mm-yyyy')を使用して日付形式を選択し、selectMultiple:trueを使用してみてください

于 2012-12-06T11:58:53.233 に答える
1

これは、selectmultiple であると言ってオプションを残したためです。

試す

$('.date-pick').datePicker
            (
                    {
                        createButton: false,
                        displayClose: true,
                        closeOnSelect: false,
                        selectMultiple: true,   
                        dateFormat: 'dd-mm-yy'               
                    }
            )

以前のオプションに追加したことがわかりますか?

編集

これに関する kelvinlucks のドキュメントを読んだ後、問題の原因がわかりました。返される日付は、文字列ではなく JavaScript の Date オブジェクトです。必要に応じて自由にフォーマットできますが、オーバーロードされたメソッド dateSelected および dpClosed では、フォーマットせずに出力されます。

これを試して:

.bind(
    'dateSelected',
    function(e, selectedDate, $td, state)
    {
        var date = selectedDate.getDate() + "-" + (selectedDate.getMonth() + 1) + "-" +     selectedDate.getFullYear();
        console.log('You ' + (state ? '' : 'un') // wrap
            + 'selected ' + date);

    }
)

私の日付の書式設定はあまり良くありませんが、要点はわかります。日付の書式設定に関する投稿は次のとおりです (http://stackoverflow.com/questions/1056728/formatting-a-date-in-javascript)

于 2012-12-06T11:54:20.240 に答える