0

読みやすい形式でフォーマットしたい入力をする必要がありますが、ユーザーが日付を選択すると、mysql が処理できる形式で出力する必要があります。出力形式とは独立して表示形式を変更できるとは思いません。タイムピッカーの非表示の入力要素と代替フィールドを使用して、私が望むものを達成しようとしていますが、何かが欠けているようです。これを行うためのより良い方法はありますか、それとも私は正しい軌道に乗っていますか?それを機能させることができないようです.

$('.startDate').datetimepicker({
    timeFormat  : "hh:mm tt",
    separator: ' ',
    showTimezone: false,
    altField: ".startDateHidden",
    altFieldTimeOnly: false,
    altFormat: "yy-mm-dd",
    altTimeFormat: "h:m t",
    altSeparator: " "
});

$('.endDate').datetimepicker({
    timeFormat  : "hh:mm tt",
    separator: ' ',
    showTimezone: false,
    altField: ".endDateHidden",
    altFieldTimeOnly: false,
    altFormat: "yy-mm-dd",
    altTimeFormat: "h:m t",
    altSeparator: " "
});

$('.startDate, .endDate, .startDateHidden, .endDateHidden').datetimepicker('setDate', (new Date()) );

編集:コードの後半で、隠しフィールドを呼び出して ajax 呼び出しで日付を使用しますが、getDate は隠し要素に対して空を返します。var date3 と date4 です。

var date1 = $('.startDate').datetimepicker('getDate');
var date2 = $('.startDate').datetimepicker('getDate');
var date3 = $('.startDateHidden').datetimepicker('getDate');
var date4 = $('.endDateHidden').datetimepicker('getDate');
console.log(date1);
console.log(date2);
console.log(date3);
console.log(date4);
4

1 に答える 1

0

私は何かを見落としていたことが判明しました。

非表示の入力がdatetimepickersによって開始されないことを完全に忘れていたので、val()を使用してjqueryで手動で値を取得する必要があります

var date3 = $('.startDateHidden').val();
var date4 = $('.endDateHidden').val();
于 2013-08-09T21:35:52.630 に答える