gpt4 book ai didi

javascript - 引导日期选择器在月份选择 setDate 不起作用

转载 作者:行者123 更新时间:2023-12-03 04:14:27 27 4
gpt4 key购买 nike

我尝试使用以下代码将日期更改为月份更改的月底,但日期没有更改。

这是我的 aspx 代码:

<div class="input-group date toDatePicker" id="toDate">
<asp:TextBox ID="txt_todate" runat="server" TabIndex="2" class="form-control toDatePicker" placeholder="Select Date"></asp:TextBox>
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
</div>

使用的js是:

$('.toDatePicker').datepicker
orientation: "bottom left",
minViewMode: 1,
maxViewMode: 4,
autoclose: true,
format: "mm/dd/yyyy",
}).on('changeMonth', function (value) {
var endDate = new Date(value.date);
var mm = endDate.getMonth() + 1; //January is 0!
var yyyy = endDate.getFullYear();
var dd = endDate.daysInMonth(mm, yyyy);
if (dd < 10) {
dd = '0' + dd;
}
if (mm < 10) {
mm = '0' + mm;
}
endDate = new Date(yyyy, mm, dd);
$('.toDatePicker').datepicker('setDate', endDate).datepicker('update');
});

function daysInMonth(month, year) {
return new Date(year, month, 0).getDate();
};

最佳答案

您的问题是“changeMonth”事件返回时带有 e.date,其中 e.date 是当前日期。如果changeMonth 事件是由单击“下个月”箭头引起的,则这是有道理的。如果是由于点击“月外日期”引起的,则 e.date 仍然是之前的日期,而不是新日期。如果没有更多信息,我猜这就是您的问题。

如果您想要新选择的日期,那么您需要一个“changeDate”事件,它将新日期作为 e.date 提供。

另请参阅此内容,这表明该行为可能是一个缺陷: https://github.com/uxsolutions/bootstrap-datepicker/issues/2290

文档: https://bootstrap-datepicker.readthedocs.io/en/stable/events.html#changemonth

关于javascript - 引导日期选择器在月份选择 setDate 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44201557/

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