【问题标题】:altFormat not working in jQuery datepicker input fieldaltFormat 在 jQuery datepicker 输入字段中不起作用
【发布时间】:2011-05-22 11:35:03
【问题描述】:

我有日期字段(id begin-date)

$( "#begin-date" ).datepicker({ 
  minDate: -20,
  maxDate: "+1M +10D",
  dateFormat: "yy-mm-dd",
  altFormat: "yymmdd"
});

在发布时,它将格式打印为 yy-mm-dd (2010-12-08),而应打印为 yymmdd (20101208)

关于为什么它没有正确发布设置 altFormat 的任何想法?

渲染的输入字段:

<input type="text" name="begin_date" id="begin-date" class="validate[required]" value="" />

【问题讨论】:

    标签: jquery jquery-ui datepicker jquery-ui-datepicker


    【解决方案1】:

    altFormat 选项不控制使用日期选择器的输入格式,而是控制由the altField option 指定的备用(通常隐藏)字段的格式,如下所示:

    $("#begin-date").datepicker({ 
      minDate: -20,
      maxDate: "+1M +10D",
      dateFormat: "yy-mm-dd",
      altFormat: "yymmdd",
      altField: "#alt-date"
    });
    

    You can test it out here;您可能想要的只是将 name 放在该 alt 字段上,这就是将发布的内容...没有 name 带有日期选择器的字段将不会被序列化/提交,例如:

    <input type="text" id="begin-date" class="validate[required]" />
    <input type="text" id="alt-date" name="begin_date" />
    

    【讨论】:

    • @bsreekanth - 感谢您让我知道,看起来旧小提琴中的 jquery 链接不再指向正确的位置(小提琴代码中的更改),我更新了演示以使用更新版本:)
    • 不幸的是,这只适用于一种方式 - 它会填充 altField,但 it will not initialize correctly 来自 altField 中的值。
    • 这是我为解决这个问题而创建的constructor patch - 它从 altField 中获取值(尊重 altFormat)并自动初始化可见输入(尊重 dateFormat)。
    • 缺少隐藏输入是我的问题
    【解决方案2】:

    altFormat 必须与 altField 一起使用;

    <input type="text" name="pushTime" class="datetime" id="pushTime"/> $(".datetime").datepicker({altFormat:"yy-mm-dd",altField: "#pushTime"});

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-07-29
      • 2021-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多