2012-06-19 131 views
4

我目前正在研究一些酒店预订小部件的编码,并且正在使用jQuery UI日期选取器。jQuery日期选择器输入日期格式

的问题是外部预订系统的客户端使用过程中的日期格式yyyy-mm-dd和客户认为这是令人困惑的人在输入框中看到2012-06-19,想显示为欧洲格式dd-mm-yyyy日期,而不是对他们的现场。

因此,基本上当表格需要显示dd-mm-yyyy时,选择日期,然后当提交按钮单击表单上的某种方式日期需要重新排列到yyyy-mm-dd发送值之前。

预订系统公司表示,他们有许多客户已经实现了这一目标,但他们并不是100%确定这是如何完成的。

回答

11

DatePicker可以使用选项altFieldaltFormat来处理此问题。

altField:将从datepicker中选择日期进行更新的输入元素。使用altFormat选项更改此字段中日期的格式。不作替代字段留空。

$('#thedate').datepicker({ 
 
    dateFormat: 'dd-mm-yy', 
 
    altField: '#thealtdate', 
 
    altFormat: 'yy-mm-dd' 
 
});
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css"> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script> 
 
Shown Field: <input id="thedate" type="text" /><br /> 
 
Hidden Field : <input id="thealtdate" type="text" />

+0

这工作太好了,谢谢! –

3

有很多方法可以解决这个问题,但这很可能是我第一眼看到的。

  1. 添加一个隐藏字段来存储新的日期值。
  2. 为提交按钮的提交功能创建事件处理程序。

  3. 在该函数创建新的日期格式正确无误:($( “oldDateFormatPicker”)VAL())

    变种d =新的日期; $(“hiddenField”).val(d); 返回true;

类似的东西,至少语法可能有点关闭,但它很接近。在我们的服务器端代码中,只需指向隐藏字段而不是日期选择器。

相关问题