gpt4 book ai didi

javascript - jQuery datepicker altFormat 不显示

转载 作者:行者123 更新时间:2023-11-28 20:31:11 24 4
gpt4 key购买 nike

我有一个 jQuery 日期选择器,它根据卖家的语言偏好进行本地化。每个日期选择器自定义都有不同的日期格式,但我希望提交表单时的输入采用特定的格式进行解析。我尝试在日期选择器上使用 altFormat 将其设置为“mm/dd/yy”,但我不希望以向用户显示的格式显示日期。有没有办法做到这一点。 IE。在创建 JavaScript 日期对象时,有没有办法让日期选择器使用不同的日期格式来计算相同的日期?

最佳答案

为什么你不想使用 altFormataltField

在此处的一个简单示例中,您可以以所需格式 mm/dd/yy 存储和访问日期,同时以“他的”所需格式向用户显示日期。看我的jsfiddle单击按钮时显示的格式会更改,但 altField 中的格式不会更改。

<input type="text" id="datepicker">
<input type="button" id="changeFormat" value="Change!">
<!-- this would be a hidden input -->
<input type="text" id="altFormat">

$(document).ready(function () {

$('#datepicker').datepicker({
dateFormat: "dd.mm.yy",
altFormat: "dd/mm/yy",
altField: '#altFormat'
});
$('#changeFormat').click(function () {
//changes the dateformat the user sees
$('#datepicker').datepicker('option', 'dateFormat', 'dd-mm-yy');
console.log($('#datepicker').datepicker('option', 'altFormat'));
});
});

((在第一个示例中不小心使用了 dd/mm/yy 而不是 mm/dd/yy))

编辑

这个working example将日期以 mm/dd/yy 格式存储在 data-altformat 属性中,您可以使用该属性轻松访问

$('#datepicker').data('altformat'); //outputs e.g. 05/31/2013

onSelect 我通过执行以下操作将 currentDate 的值存储在属性中

onSelect: function () {
//gets your desired format
var altFormat = $(this).datepicker('option', 'altFormat');
//get current date in user format
var currentDate = $(this).datepicker('getDate');
//format from user format to desired format
var formatedDate = $.datepicker.formatDate(altFormat, currentDate);
//set data-* attribute to formatedDate
$('#datepicker').data('altformat', formatedDate);
$('#altFormat').val(formatedDate);
}

此方法的优点是您不再需要隐藏输入。我希望这可以帮助你。

编辑2

刚刚注意到您不需要 new Date().datepicker('getDate')

关于javascript - jQuery datepicker altFormat 不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16345249/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com