1

私はangularjsを使ってプロジェクトを作成しています。私はリンクからangulardatetimepickerを統合しています:角度ブートストラップの以前の日付をすべて無効にするdatetimepicker

https://github.com/dalelotts/angular-bootstrap-datetimepicker

今、現在の日付から前の日付をすべて無効にしたいとします。 は、ここに私のコードです:

function beforeRender($view, $dates, $leftDate, $upDate, $rightDate) { 
    var minDate = moment().startOf($view).valueOf(); 
    for(var i=1; i < $dates.length;i++) { 
     if(new Date().getTime() > $dates[i].utcDateValue) { 
      $dates[i].selectable = false; 
     } 
    }  
    } 

このコードではありません無効の日付を正しく

+1

あなたはこのためのフィドルを作成しますか? –

+0

あなたは現在のdaにmin-dateを設定することはできませんテ? – Guillaume

答えて

3

マイナーな変更あなたのループ内:

function beforeRender($view, $dates, $leftDate, $upDate, $rightDate) { 
    var minDate = moment().startOf($view).valueOf(); 
    for(var i=0; i < $dates.length;i++) { 
     if(minDate > $dates[i].utcDateValue) { 
      $dates[i].selectable = false; 
     } 
    }  
    } 
+0

これは完璧です。 – phegde

0

のために避け考えてみましょう...ループ:

function beforeRender($view, $dates) { 
    var today = moment().valueOf(); 

    $dates.filter(function (date) { 
    return date.localDateValue() < today 
    }).forEach(function (date) { 
    date.selectable = false; 
    }) 
} 
+0

このようにすると、正午以降の現在の日付が無効になります。 – phegde

+0

もちろん、上記の「今日」の値として日付/時刻を使用することができます。あなたの状況に必要な価値を使用してください。 'var today = moment.utc()。valueOf();を試してみてください。 ' –

関連する問題