我已经编写了一个信用卡过期日期选择器,并且有非常严格的要求,听起来很简单,但是我有一个精神障碍。
我正在使用jquery-ui datepicker,将表单提交给MVC Action。
在表单中,日期需要在文本框中显示为mm / yy。
这是必要条件。他们不想要 mm / yyyy 。他们不需要 mm / dd / yy ...他们非常明确地想要 mm / yy 。
因此我的javascript设置如下:
$('#expiry').datepicker({
dateFormat: "mm/y"
})
.datepicker("option", "changeMonth", true)
.datepicker("option", "changeYear", true)
.datepicker("option", "showButtonPanel", true)
.datepicker("option", "onClose", function (e) {
var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$(this).datepicker("setDate", new Date(year, month, 1));
});
这将适当地显示在表格中。但是,当我提交表单时,第二组数字始终会转移到该月的某天,并加上当前年,因此我可以通过上面的输入样本获得这些日期:< / p>
如果我将dateformat更改为“ mm / yy”,则会在后端得到正确的日期,但是它显示的是4位数字的年份,并且已经指示我这根本行不通。 / p>
我需要月份,准确地是2位数字。我需要的年份恰好是2位数,仅此而已。对于我来说,可以将日期设置为1到29之间的任意随机数,因为我不会使用它。
听起来很简单。不是。我是否需要为看似简单的内容编写自己的控件?