2013-07-10 47 views
3

我正在嘗試使用extJS創建時間域組合框。我已經成功完成了這個工作,但是現在我遇到了一個問題,當我獲得我在組合框中選擇的值時。 首先爲了使timefield代碼:如何在24小時內保持ExtJS時間域的格式

items :[{ 
    fieldLabel: 'Start Time', 
    name: 'startTime', 
    xtype: 'timefield', 
    id: 'startTime', 
    format: 'H:i', 
    altFormats:'H:i', 
    increment: 30 
     }] 

我想要的是讓在24小時格式的值。爲了從時間字段獲取的價值我用這個代碼:

var startTime = Ext.getCmp('startTime').getSubmitValue(); 

的問題是,而不是讓在24小時格式時,值被轉換成12小時制。例如,當我從組合中選擇時間:00:00時,當我使用getSubmitValue()時,該值被轉換爲12:00 AM,這在我的情況下不是很有用。

我的問題是:有沒有辦法保持組合框中的時間格式?那將是24小時的格式。

我希望這很清楚我想說什麼。

感謝 季米特里斯

+0

您使用的是什麼版本的Ext?您是否嘗試過在該字段中包含'submitFormat'配置? – kevhender

回答

6

原因很簡單。
getValue返回日期對象,getSubmitValue返回格式化日期。
您只需要格式化由getValue方法收到的日期。

var field = Ext.getCmp('startTime'); 
var value = field.getValue(); 
var formattedValue = Ext.Date.format(value, 'H:i'); 

Sample here

0

我發現,如果我使用:

var startTime = Ext.getCmp('startTime').getRawValue(); 

我檢索時間24格式。

相關問題