4

多くのお客様から、アプリで使用するために選択した日付形式を日付ピッカーに反映させるように依頼されています。残念ながら、私たちは日付ピッカーを頻繁に使用するため、それぞれに行き、日付が適切に解析されていることを確認することが最後の手段です。

今、私は彼らが選んだ日付形式を日付ピッカーに対応する日付形式に変換し、単にデフォルトdateFormatをそれに設定しました。

<?php
// set default datepicker date format depending on their date format
$phpToJsDateFormats = array(
    'j M Y' => 'd M yy',
    'Y-m-d' => 'yy-mm-dd',
    'm-d-Y' => 'mm-dd-yy',
    'd-m-Y' => 'dd-mm-yy',
    'n/j/Y' => 'm/d/yy',
    'j/n/Y' => 'd/m/yy',
    'F jS, Y' => 'MM d, yy',
);
$jqueryDateFmt = $phpToJsDateFormats[ $settings['Config']['format_date'] ];
?>
<script type="text/javascript">
$.datepicker.setDefaults({
    dateFormat: "<?php echo $jqueryDateFmt ?>"
});
</script>

これを簡単に修正するために、日付ピッカーの実際の値をマスクして、ユーザーに表示する値が日付形式になるようにする方法があるかどうか疑問に思いましたが、日付ピッカーが実際に送信する値は、デフォルトの形式です。すでに使用しています。グローバルフォームに沿ったものonsubmitや、AJAX経由で送信されたフォームに似たものを考えていますが、わかりません。たぶん、jQueryには、私が知らない、日付ピッカーに組み込まれたクールなものがあります。

任意のアイデアをいただければ幸いです。ありがとう!

4

2 に答える 2

4

altFormatを使用する

$( ".selector" ).datepicker({ altFormat: "yy-mm-dd" });

これにより、1 つの日付形式を選択目的でユーザーに表示し、実際には別の形式をバックグラウンドで送信できます。

于 2012-04-10T22:04:19.977 に答える
-1

私はこれを見つけました:

$.datepicker.setDefaults($.datepicker.regional['nl']);
$('.datepicker').datepicker('option', {
    dateFormat: 'yy-mm-dd'
});
于 2013-03-30T17:59:48.937 に答える