我有一个表格,我想根据开始日期和选择的天数计算结束日期。
所以过程......选择天选择开始日期自动填充结束日期=开始天数+天数
我已经完成了以下工作,但有人知道如何填充计算,因此在计算发生之前输入了天数和开始日期。
var $title3 = $("#enddate");
$("#startdate").keyup(function () {
$title3.val(this.value);
});
$("#startdate").blur(function () {
$title3.val(this.value);
});
$("#days").keyup(function () {
$title3.val(this.value);
});
$("#days").blur(function () {
$title3.val(this.value);
});
echo'<table width="100%"><tr>
<td class="label"><label for="days">Days:</label></td>
<td class="field">
<select id="days" name="days">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
</td>
<td class="status"></td>
</tr>
<tr>
<td class="label"><label for="startdate">Start Date:</label></td>
<td class="field"><input type="text" name="startdate" id="startdate" class="required" readonly="readonly"/></td>
<td class="status"></td>
</tr>
<tr>
<td class="label"><label for="enddate2">End Date:</label></td>
<td class="field"><input type="text" name="enddate2" id="enddate2" class="required" readonly="readonly"/></td>
<td class="status"></td>
</tr></table>';
模组
这是我提出的一个解决方案,但需要选择结束日期的 maxDate 日期 + 5 天,不包括周末。我怎么写这个?
另外,我如何计算出 enddate 和 startdate 的 2 个结果的天数差异,但不包括周末?
var $ac_start_date = '<?php echo $ac_end_date ?>',
$ac_start_date_flip = '<?php echo $ac_end_date_flip ?>',
$ac_start_parsed = Date.parse($ac_start_date),
_today = new Date().getTime();
// For Opera and older winXP IE n such
if (isNaN($ac_start_parsed)) {
$ac_start_parsed = Date.parse($ac_start_date_flip);
}
var _aDayinMS = 1000 * 60 * 60 * 24;
// Calculate the difference in milliseconds
var difference_ms = Math.abs($ac_start_parsed - _today);
// Convert back to days and return
var DAY_DIFFERENCE = Math.round(difference_ms/_aDayinMS);
// do initialization here
$("#startdate").datepicker({
dateFormat: 'dd-mm-yy',
changeMonth: true,
changeYear: true,
yearRange: '0:+100',
onSelect: function( selectedDate ) {
$( "#enddate" ).datepicker( "option", "minDate", selectedDate );
$( "#enddate" ).datepicker( "option", "maxDate", selectedDate + 5days excluding weekends);
},
minDate: '+1d',
maxDate: '+' + (DAY_DIFFERENCE + 1) + 'd'
});
// do initialization here
$("#enddate").datepicker({
dateFormat: 'dd-mm-yy',
changeMonth: true,
changeYear: true,
yearRange: '0:+100'
});
啊哈...
$(".selector").datepicker({ beforeShowDay: $.datepicker.noWeekends })