首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DatePicker格式

DatePicker格式
EN

Stack Overflow用户
提问于 2011-01-13 17:32:06
回答 2查看 632关注 0票数 4

我使用的是jQuery的datepicker。一旦选择,我希望它显示为9Feb,11。但是在保存时,我希望它转换为2/9/11。我如何做到这一点?

重新显示dte时,应再次显示9Feb,11。我该怎么做呢?

我的代码片段如下:

代码语言:javascript
复制
@Html.TextBoxFor(m => (Model.dDay.Date))

 $("#dDay_Date").datepicker({ dateFormat: 'dd-M-yy' });
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-13 17:40:47

您可以使用“隐藏”选项来填充表单中的隐藏字段,只需将日期字段更改为altField:<input type="hidden" name="date" id="date" value=""/>即可。您还可以使用‘altFormat’设置alt字段的格式:

代码语言:javascript
复制
$("#date_display").datepicker({
    dateFormat: 'd M y', 
    altField: '#date',
    altFormat: 'dd-M-yy'
});
票数 3
EN

Stack Overflow用户

发布于 2011-01-13 17:36:49

您可以将隐藏的输入字段添加到页面。使用altFieldaltFormat选项,您可以将数据以另一种格式发送到您的页面。

为此,您可以为DateTime格式创建自定义编辑器模板。将文件DateTime.cshtml添加到Views/Shared/EditorTemplates文件夹。

然后,您可以使用这样的内容(未测试):

代码语言:javascript
复制
@model DateTime?
@using System.Globalization
@{
    var name = MvcHtmlString.Create(ViewData.TemplateInfo.GetFullHtmlFieldName(""));
    var id = MvcHtmlString.Create(ViewData.TemplateInfo.GetFullHtmlFieldId(""));
    var visibleID = id + "_editor";

    var value = Model ?? DateTime.Today;
    var formattedValue = value.ToString("dd MMM yyyy");

}
<input type="text" id="@(visibleID)" value="@formattedValue" />
<input type="hidden" id="@(id)" name="@(name)" value="@value.ToString("yyyy/MM/dd")" />
<script type='text/javascript'>
    $(function () { $('#@(visibleID)').datepicker({ dateFormat: 'd mm y', altField='@id', altFormat='d/m/y' }); });
</script>

然后您只需使用TextBoxFor,任何DateTime字段都将激活datetimepicker。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4678505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档