如何将 jQuery 日期选择器的占位符更改为当前日期后两周?
我想将“结束”输入 (id="datepicker2) 的占位符更新为开始日期 (id=datepicker) 后 2 周的日期。到目前为止,仅 当用户从日历中选择新的开始日期时,结束日期的值会更新 如果用户将开始日期保留为默认值,我希望他们也能看到结束日期。 ,而不是“在 2周”。
HTML
<form class="reminderControls">
<label for="startDate">Start:</label>
<!-- START DATE -->
<div class="dateParent">
<input type="text" id="datepicker" value="">
</div>
</form>
<form class="reminderControls">
<label for="endDate">End:</label>
<!-- END DATE-->
<div class="dateParent2">
<input type="text" id="datepicker2" value="" placeholder="in 2 weeks">
</div>
</form>
JQUERY
$(function () {
$('.dateParent').datepicker({
inline: true,
altField: '#datepicker',
onSelect: function () {
var selectedDate = $('.dateParent').datepicker('getDate');
var endDate = new Date(selectedDate);
endDate.setDate(endDate.getDate() + 14);
var endDateStr = (endDate.getMonth() + 1) + '/' + endDate.getDate() + '/' + (endDate.getYear() + 1900);
$('#datepicker2').val(endDateStr); //changes value of end date
}
});
$('#datepicker').focus(function (event) {
event.preventDefault();
$('.ui-datepicker').addClass('shown');
return false;
});
$(document).click(function (event) {
if (!$(event.target).is('.dateParent *'))
$('.ui-datepicker').removeClass('shown');;
});
});
默认状态(开始日期为当前日期)
用户选择不同日期后
I want to update the placeholder of the "End" input (id="datepicker2) to the date 2 weeks after the start date (id=datepicker). So far, only the value of the end date is updated when the user selects a new start date from the calendar. In the case the user leaves the start date at default, I want them to see the end date as well, not "in 2 weeks".
HTML
<form class="reminderControls">
<label for="startDate">Start:</label>
<!-- START DATE -->
<div class="dateParent">
<input type="text" id="datepicker" value="">
</div>
</form>
<form class="reminderControls">
<label for="endDate">End:</label>
<!-- END DATE-->
<div class="dateParent2">
<input type="text" id="datepicker2" value="" placeholder="in 2 weeks">
</div>
</form>
JQUERY
$(function () {
$('.dateParent').datepicker({
inline: true,
altField: '#datepicker',
onSelect: function () {
var selectedDate = $('.dateParent').datepicker('getDate');
var endDate = new Date(selectedDate);
endDate.setDate(endDate.getDate() + 14);
var endDateStr = (endDate.getMonth() + 1) + '/' + endDate.getDate() + '/' + (endDate.getYear() + 1900);
$('#datepicker2').val(endDateStr); //changes value of end date
}
});
$('#datepicker').focus(function (event) {
event.preventDefault();
$('.ui-datepicker').addClass('shown');
return false;
});
$(document).click(function (event) {
if (!$(event.target).is('.dateParent *'))
$('.ui-datepicker').removeClass('shown');;
});
});
DEFAULT STATE (START DATE IS CURRENT DATE)
AFTER USER PICKS DIFFERENT DATE
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我测试了您发布的代码,它似乎有效。我做了一些你可能需要考虑的小改动。
I tested the code you posted and it appears to work. I made some minor changes you may want to consider.