2012-06-19 228 views
4

我目前正在研究一些酒店預訂小部件的編碼,並且正在使用jQuery UI日期選取器。jQuery日期選擇器輸入日期格式

的問題是外部預訂系統的客戶端使用過程中的日期格式yyyy-mm-dd和客戶認爲這是令人困惑的人在輸入框中看到2012-06-19,想顯示爲歐洲格式dd-mm-yyyy日期,而不是對他們的現場。

因此,基本上當表格需要顯示dd-mm-yyyy時,選擇日期,然後當提交按鈕單擊表單上的某種方式日期需要重新排列到yyyy-mm-dd發送值之前。

預訂系統公司表示,他們有許多客戶已經實現了這一目標,但他們並不是100%確定這是如何完成的。

回答

11

DatePicker可以使用選項altFieldaltFormat來處理此問題。

altField:將從datepicker中選擇日期進行更新的輸入元素。使用altFormat選項更改此字段中日期的格式。不作替代字段留空。

$('#thedate').datepicker({ 
 
    dateFormat: 'dd-mm-yy', 
 
    altField: '#thealtdate', 
 
    altFormat: 'yy-mm-dd' 
 
});
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css"> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script> 
 
Shown Field: <input id="thedate" type="text" /><br /> 
 
Hidden Field : <input id="thealtdate" type="text" />

+0

這工作太好了,謝謝! –

3

有很多方法可以解決這個問題,但這很可能是我第一眼看到的。

  1. 添加一個隱藏字段來存儲新的日期值。
  2. 爲提交按鈕的提交功能創建事件處理程序。

  3. 在該函數創建新的日期格式正確無誤:($( 「oldDateFormatPicker」)VAL())

    變種d =新的日期; $(「hiddenField」).val(d); 返回true;

類似的東西,至少語法可能有點關閉,但它很接近。在我們的服務器端代碼中,只需指向隱藏字段而不是日期選擇器。

相關問題