我正在尝试使用jQuery datepicker控件向用户显示日,月和日期,例如:
周五8月24日
但幕后我需要追踪这一年。为了实现这一点,我尝试使用altField选项并使altField格式为mm / dd / yyyy。
它正在按预期更新altField,但是当用户跨越一年时它会失败。例如,如果今天是2012年1月18日,我选择了2012年的任何日期,那就完美了。如果我在日历控件中选择3/1/2013,它会正确更新altField,但只要我再次打开日历,就会选择3/1/2012。
看起来,datepicker控件没有查看altField来设置弹出日历的值。
我尝试在altField onSelect和beforeShow中读取和解析日期,然后将正常控件的日期设置为解析日期,但它基本上忽略了该集合。我最终在datepicker文本框中反映的日期而不是altField。
以前有人尝试过这样的东西吗?
有关设置的示例,请查看Google酒店搜索 - http://www.google.com/hotelfinder/
答案 0 :(得分:0)
您可以在下面尝试所需的日期格式
datepicker({dateFormat:'D.M.dd'})
答案 1 :(得分:0)
使用jquery插件Date.js
答案 2 :(得分:0)
jQuery Datepicker代码从其目标输入中提取当前日期,而不是alt输入。这太糟糕了。
这是我丑陋的解决方法:
假设你的目标输入和隐藏输入是这样的:
<input type='text' class='target_date' value="Jun 30" />
<input type='hidden' class='hidden_date' value='30/06/1984' />
你可以像这样初始化你的日期选择器:
$(".target_date").datepicker({ yadda yadda yadda })
$(".target_date").bind("mouseup", function () {
$(this).datepicker("setDate", $.datepicker.parseDate('dd/mm/yy', $("#from_date").val() ) )
});
这是一个丑陋的黑客。基本上你在出现之后设置了Datepicker的日期。 datepicker确实需要更多的事件挂钩,但这必须要做。