多くのお客様から、アプリで使用するために選択した日付形式を日付ピッカーに反映させるように依頼されています。残念ながら、私たちは日付ピッカーを頻繁に使用するため、それぞれに行き、日付が適切に解析されていることを確認することが最後の手段です。
今、私は彼らが選んだ日付形式を日付ピッカーに対応する日付形式に変換し、単にデフォルト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には、私が知らない、日付ピッカーに組み込まれたクールなものがあります。
任意のアイデアをいただければ幸いです。ありがとう!