【问题标题】:jQuery Date Picker Input Date FormatjQuery 日期选择器输入日期格式
【发布时间】:2012-06-19 16:04:52
【问题描述】:

我目前正在为酒店预订小部件编写一些代码,并且正在使用 jQuery UI 日期选择器。

问题是客户使用的外部预订系统将日期格式处理为yyyy-mm-dd,客户认为这会让人们在输入框中看到2012-06-19 感到困惑,并希望日期显示为欧洲格式@ 987654323@ 而不是在他们的网站上。

所以基本上表单需要在选择日期时显示dd-mm-yyyy,然后当提交按钮单击表单时,日期需要在发送值之前重新排列为yyyy-mm-dd

预订系统公司说他们有很多客户已经做到了这一点,但他们表示他们不是 100% 确定这是如何做到的。

【问题讨论】:

    标签: jquery jquery-ui datepicker


    【解决方案1】:

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

    altField :一个输入元素,将使用从日期选择器中选择的日期进行更新。使用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" />

    【讨论】:

      【解决方案2】:

      有很多方法可以解决这个问题,但这可能是我乍一看的处理方式。

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

      3. 在该函数中创建格式正确的新日期:

        var d = new Date($("oldDateFormatPicker").val()); $("hiddenField").val(d); 返回真;

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-26
        • 2013-09-30
        • 1970-01-01
        • 2014-04-22
        • 1970-01-01
        • 2013-08-02
        • 2018-08-25
        • 2010-12-05
        相关资源
        最近更新 更多