2012-04-05 29 views
4

我們有很多客戶的要求,讓我們的日期選擇器反映他們選擇在我們的應用程序中使用的日期格式。不幸的是,我們使用了很多日期選擇器,所以每次都要使用datepickers,並確保日期仍然得到正確解析是最後的手段。jQuery UI Datepicker - 前端使用動態日期格式,後端使用靜態日期格式?

現在我已經將他們選擇的日期格式轉換爲datepicker的相應日期格式,並簡單地將默認的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有一些很酷的內置到我不知道的日期選擇器中。

任何想法將不勝感激。謝謝!

回答

3

使用altFormat

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

這樣一個日期格式來顯示給用戶以供選擇 目的,而不同格式的幕後實際發送。

-1

我發現這一點:

$.datepicker.setDefaults($.datepicker.regional['nl']); 
$('.datepicker').datepicker('option', { 
    dateFormat: 'yy-mm-dd' 
}); 
相關問題