2016-12-03 22 views
0

HTML5とブートストラップピッカーで日付の選択に関数を呼び出す方法を、私は呼びたいです機能。 IAMがng-clickを使用している場合、textfield.jpnをクリックすると呼び出されます.ng-changeは機能していません。ただし、datePickerで日付を選択した後で関数を呼び出すとします。誰かが助けることができる?私は日付ピッカーの任意の日付をクリックするだけで、日付picker.Nowを示しタイプ=「日時」のHTML5の入力フィールドを持っていた

<input class="form-control" type="datetime" date-time auto-close="true" view="date" 
min-date="{{today}}" min-view="date" maxlength="10" format="dd/MM/yyyy" 
ng-model="$ctrl.DateInput" required="true" ng-change="$ctrl.checkdate()"> 

JS

$scope.today= new Date().toISOString().split('T')[0]; 
this.checkdate=function(){ 
alert("hi"); 
Notification.error('Please select proper date'); 
}; 

enter image description here

+0

カスタムディレクティブの 'date-time'属性はありますか? – Ripley511

+0

いいえカスタムディレクティブではありません –

答えて

0

あなたは、変数を見て、変化に行動を起こすよりも可能性:

$scope.$watch("DateInput", function(newValue, oldValue) { 
    //..do something 
}); 
0

まず、あなたは、これをdatetime-local入力タイプを使用する必要がありますAngularJSではサポートされていますが、datetimeではサポートされていません。

第二に、問題がinput\[datetime-local\] API of AngularJSから来ています。 ngModelの値は有効なDateオブジェクトでなければなりません。これはng-changeディレクティブの起動を防ぎます。

this.DateInput = new Date()を使用してDateInputプロパティを新しい日付に設定できますが、表示される値は完全な日付文字列(時間、秒、ミリ秒)になります。
ngModelに一種のフィルターを適用することでワークアローンを見つけることができますが、これはネイティブにAngularでは許可されておらず、容易ではありません。

あなたが立ち往生している場合は、ブートストラップ・ライブラリとそのdatepicker directiveのために偉大な角度-UIを使用することができます。

関連する問題