2016-08-15 80 views
0

我在我的ASP.NET MVC項目中使用Telerik Kendo UI框架,並且我想啓用一個讓用戶在DateTimePicker輸入中輸入自由文本的功能,例如:20150820,20150820 1330Kendo DateTimePicker ParseFormats不工作

Kendo DateTimePicker具有內置屬性,名爲「parseFormats」來實現此任務。然而,它未能在下面的情況:

<input ... data-parse-foramts="['ddMMyyyy HHmm','ddMMyyyy', 
'dd-MM-yyyy', 'dd-MM-yyyy HH:mm', 'yyyyMMdd', 'yyyyMMdd HHmm']" ... /> 

的最後一個值,讓用戶輸入自由文本像,它應該被解析爲2015-20-20 13:30,但是部分時間(13:30)不起作用,控件總是顯示00:00。所有其他包含的格式按預期工作。

雖然我嘗試將格式簡化爲data-parse-formats="['yyyyMMdd HHmm']",但一切都很順利。

爲什麼會發生這種情況,我該如何實現我想要的功能?

+2

它在文檔中提到,順序應該是'提供的解析格式的順序是重要的,它應該從更嚴格到不嚴格。看起來你已經否決了你的情況。你正在從不嚴格到嚴格!請參閱:http://docs.telerik.com/kendo-ui/api/javascript/ui/timepicker#configuration-parseFormats – Vijai

+0

@Vijai謝謝..我可以想念那句話......你救了我的命! – shole

+0

您現在應該回答您的問題以幫助他人。 –

回答

0

由於@Vijai在評論中提到,問題的關鍵點在於,解析格式陣列應該有一個嚴格的順序:

所提供的解析格式的順序很重要,它從嚴格的應不太嚴格。

這意味着yyyyMMdd HHmmttyyyyMMdd之前應該將等

這裏是我的細化解析格式,其中所包含的全部格式做工精細:

['ddMMyyyy HHmm', 'yyyyMMdd HHmm', 'dd-MM-yyyy HH:mm', 'dd-MM-yyyy', 'yyyyMMdd', 'ddMMyyyy', 'HHmm']