2017-07-14 9 views
-1

私はangular-bootstrap-datetimepickerを使用しています。ユーザーが特定の日付を入力するのを制限する方法を知っています。datetimepickerで特定の時刻を入力するのを防ぐ方法を教えてください。

$dates.filter(function(date){ 
      return (date.localDateValue() <= new Date().valueOf()-(24*60*60*1000)); 
     }).forEach(function(date){ 
      date.selectable = false; 
     }) 

このコードのinsode startDateBeforeは、現在の日付から24時間後の日付を入力できないようにします。

しかし、今私はユーザーには魅力的な時間を入力してほしい。同様のユーザーは10:05am to 11:10pmの間の時間だけを選択できます。私はそれをすることができません。ドキュメンテーションでは、時間と分にフィルターを追加する方法については規定していません。それに関する助けAngular Date Time Picker

答えて

0
date = new Date().valueOf(); 

if(date > 1000*(10*60+5)){ 
    if(date < 1000*(23*60+10)){ 
     //Code green, I repeat, CODE GREEN! 
    } 
} 
+0

回答ありがとうございます。私が使用していた角度日付ピッカーはビューの概念(日、時間、分)を使用します。そのトリックは、ビューの正しい使用に関するものでした。 –

1

beforeRender機能もviewというパラメータを取ります。したがって、view==='hour'を使用して、ユーザーが過去の時間を入力するのを制限することができます。私は何時間もコードを逃していました。

function startDateBeforeRender ($view, $dates, $leftDate, $upDate, $rightDate) {  
    var today = moment().valueOf(); 
    $dates.filter(function (date) { 
    return date.localDateValue() < today -(24*60*60*1000) 
    }).forEach(function (date) { 
    date.selectable = false; 
    }); 


// to restrict hours by admin 
if ($view === "hour") { 
    // restict previous hours 
    $dates.filter(function (date) { 
    return date.localDateValue() < today 
    }).forEach(function (date) { 
    date.selectable = false; 
    }) 

} 
} 
関連する問題