0

次のように2つの日付ピッカーがあります:

<input type="date" name ="datepicker_start" id="datepicker" value=""  class="datepicker" size="20" />

<input type="date" name ="datepicker_end" id="datepicker2"  value="" class="datepicker" size="20" />

そして、日数の差を計算してから、日数の差を次のように比較したいと思います。

<input type="text" name="tleave" value="Var" readonly="true" size="10" />

ここで、Var は変数です。

差が「Var」値よりも大きい場合は、エラーメッセージをポップアップする必要があります。

休暇の開始日と終了日を設定できる場合は、基本的に休暇申請と見なしますが、休暇の期間は休暇の残高を超えることはできません。その場合、システムはユーザーに通知する必要があります。

4

2 に答える 2

3

moment.jsを使用する場合は、次のようにします。

var start = $('#datepicker').val(),
end = $('#datepicker2').val();

var diffInDays = moment(start).diff(moment(end), 'days');

if(diffInDays > Var) {...}

アップデート:

あなたのフィドルを更新しました。

HTML:

<input type="text" name="datepicker_start" id="datepicker" value="" class="datepicker" size="20" />
<input type="text" name="datepicker_start2" id="datepicker2" value="" class="datepicker" size="20"   />

<button>number of days</button>

JS:

$('#datepicker, #datepicker2').datepicker();

$('button').click(function () {
    var start = $('#datepicker').val(),
        end = $('#datepicker2').val();

    var diffInDays = moment(end).diff(moment(start), 'days');

    alert(diffInDays);
});

フィドルで予期しない UI が表示されたためtext、入力タイプを に変更しました。type='date'フォールバックとして jquery datepicker を使用する必要があります。

私のフィドルでは、日付jQueryピッカーとmoment.jsライブラリを使用5.5kbして日付を処理しました。

于 2013-07-03T16:51:06.860 に答える