1

予約フォームのカレンダーに jquery UI を使用するプラグインを使用しており、アラートを表示したいのですが、2 番目の日付が最初の日付から 7 日未満の場合、または初デートから30日以上。

だから[01.01.2012] + [02.01.2012]うまくいかない

[01.01.2012] + [15.01.2012]jqueryを介してこれを達成する方法はありますか? よろしくお願いします!

4

2 に答える 2

1

javascipt 日付オブジェクトを使用してそれを行うことができます。最初の日付オブジェクトが Date1 で、2 番目が Date2 だとします。

var dateMin = new Date(Date.parse(Date1)); //you may not need to parse. 
var dateMax = new Date(Date.parse(Date1)); //new Date(Date1) may work. Not sure

dateMin.setDate(Date1.getDate() + 7);
dateMax.setDate(Date1.getDate() + 15);

if (Date2 < dateMax && Date2 > dateMin) {
    //code
} else {
    //alert
}

月、年、時間などについても同じことができます。

于 2012-08-22T15:29:10.153 に答える
0

jsFiddle デモ

基本的にここでの要点は、Date.parse()両方の日付 (ミリ秒に変換) を必要とし、ミリ秒を / 1000 (秒を取得する) / 60 (分を取得する) / 1440 (日を取得する) で割る必要があるということです。

次に、それが 7 を超えているかどうかをテストして、すべて準備完了です。

$('#submit').on('click', function () {
    var toDate = Date.parse($('#toDate').val()),
        fromDate = Date.parse($('#fromDate').val()),
        difference = toDate - fromDate;

    var days = difference / 1000 / 60 / 1440;

    if ( days < 7 ) {
        alert('Please give at least 7 days between the dates!');
        return false; // stop from submitting        
    }

    // VALID
    else {
        alert('success!');
    }
});​
于 2012-08-22T15:35:54.537 に答える