【发布时间】:2012-12-07 07:54:19
【问题描述】:
我有一个 MVC3 应用程序,其中一个页面有一个jQuery datepicker:
<script>
$(function () {
$("#expirationDate").datepicker();
$("#expirationDate").datepicker("option", "dateFormat", "dd/mm/yy");
});
</script>
using (Html.BeginForm())
{
@Html.TextBox("expirationDate")
<input type="submit" value="Submit" />
}
控制器动作如下:
public ActionResult DoStuff(String expirationDate)
{
return View();
}
日期选择器看起来不错,但行为却很奇怪。
我在其中输入了一些日期,例如 2012 年 12 月 31 日为 12 月 31 日(注意我指定格式为 dd/mm/yy)并按下按钮。控制进入控制器,我看到expirationDate 变量保存31/12/2012 值。然后操作返回,然后我看到文本框为空。
然后我尝试 2012 年 10 月 12 日 - 它开始执行操作,但是当页面再次显示时,它变成了 12/10/2012 - 显然月份和日期被交换了。也许在 31/12 的情况下,它发现交换它们会产生一个无效的日期并丢弃它。
尽管明确指定了格式,为什么日期和月份会被交换?
【问题讨论】:
-
你在用什么
datepicker?该插件的主页是什么?我确定"option", "dateFormat", "dd/mm/yy"无效!也许.datepicker({"dateFormat": "dd/mm/yy"})会是一个更好的尝试选择。 -
@balexandre:这个jqueryui.com/datepicker
-
@balexandre 对于 jqueryui datepicker 选项是正确的行为
-
@CoolEsh 在我询问时他没有指定 :) 我从不使用 jQuery UI,我更喜欢 Bootstrap datepicker :)
标签: javascript jquery asp.net-mvc-3 datepicker jquery-ui-datepicker