gpt4 book ai didi

javascript - 日期选择器设置默认日期

转载 作者:可可西里 更新时间:2023-11-01 02:43:55 27 4
gpt4 key购买 nike

我正在尝试在初始化时为 Jquery datepicker 设置默认日期。这是我的 html:

var content = "";
content = "<table class=\"filter-table\">";
content += "<tr><td><label for='startDate'>From </label></td><td><input name='startDate' id='startDate' class='date-picker' /></td></tr>";
content += "<tr><td>&nbsp;</td></tr>";
content += "<tr><td><label for='endDate'>To </label></td><td><input name='endDate' id='endDate' class='date-picker' /></td></tr>";

还有我的 JavaScript:

<script type="text/javascript">
function showdatepicker() {
$('.date-picker').datepicker( {
changeMonth: true,
changeYear: true,
changeDay: true,
showButtonPanel: true,
dateFormat: 'yy-mm-dd',
onClose: function(dateText, inst) {
var day = $("#ui-datepicker-div .ui-datepicker-day :selected").val();
var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
$('#startDate').datepicker({defaultDate: -30});
$('#endDate').datepicker({defaultDate: new Date()});
}
});
}
</script>

我想做的是设置日期并在加载页面时显示在文本框中。结束日期应为当前日期,而开始日期应为一个月前。但是,通过使用这些代码,它不会在首次加载时在文本框中显示日期。

我想知道为什么会这样。提前致谢。

最佳答案

我和您一样,无法在日期选择器上使用方法来填充输入中的默认日期。

因此,我使用 vanilla JS 编写代码来计算默认日期并将它们格式化以显示在文本框中。

这是我添加的JS:

function showdatepicker() {
// same as yours
}

function populateDefaultValues() {
var today = new Date();
var month = today.getMonth() - 1,
year = today.getFullYear();
if (month < 0) {
month = 11;
year -= 1;
}
var oneMonthAgo = new Date(year, month, today.getDate());

$('#startDate').val($.datepicker.formatDate('yy-mm-dd', today));
$('#endDate').val($.datepicker.formatDate('yy-mm-dd', oneMonthAgo));
}

$(function() {
populateDefaultValues();
showdatepicker();
});

jsFiddle

关于javascript - 日期选择器设置默认日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23073053/

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