我有一个使用JQuery Mobile的MVC 4站点。我正在使用带有EditorFor的模型来渲染日期编辑器。在MVC我有这个:
@Html.EditorFor(Function(model) model.ActionDate)
模型属性定义为:
<Required>
<RegularExpression("\d{2}/\d{2}/\d{4}", ErrorMessage:="Please enter a date in the format of MM/DD/YY")>
<DataType(DataType.Date)>
<DisplayFormat(ApplyFormatInEditMode:=True, DataFormatString:="MM/dd/yyyy")>
<Display(Name:="Action Date")>
Public Property ActionDate As Date
它呈现HTML值为:
<input type="date" ... value="04/24/2013" />
但向用户显示的是:
用户看不到日期,而且4/24/2013不是Chrome日期选择器的默认设置。如何让chrome实际显示日期?
感谢。
答案 0 :(得分:2)
答案 1 :(得分:1)
刚刚遇到同样的问题。
我的解决方案是在连接datepicker时通过将类型更改为文本来避免type="date"
问题:
$('#Date').removeAttr('type').attr('type', 'text').datepicker();
如果您不使用JQueryUI,只需删除datePicker部分。
由于我还需要强制使用默认日期格式(再次感谢Chrome),它是:
$('#Date').removeAttr('type').attr('type', 'text').datepicker({ dateFormat: 'dd/mm/yy' });
Chrome现在经常因为jQueryUI问题而咬我们,并且已经从我们最喜欢的开发浏览器变成了最麻烦的(出于兼容性问题)。