0

開始日と選択した日数から終了日を計算したいフォームがあります。

したがって、プロセス...... 日を選択 開始日を選択 終了日を自動入力 = 開始日 + 日

私は次の作業を行っていますが、計算を行う方法を知っている人はいますか?

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 を selectedDate + 週末を除く 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 })
4

0 に答える 0