altFormat 在 jQuery datepicker 输入字段中不起作用
Posted
技术标签:
【中文标题】altFormat 在 jQuery datepicker 输入字段中不起作用【英文标题】:altFormat not working in jQuery datepicker input field 【发布时间】: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="" />
【问题讨论】:
【参考方案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");
【讨论】:
以上是关于altFormat 在 jQuery datepicker 输入字段中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
jQuery datepicker "dateFormat" 和 "altFormat" 之间的区别
jquery ui datepicker - altfield作为div而不是输入