2017-02-19 23 views
0

我在使用ng變化的datepicker中有問題。當我通過「單擊日期」更改該值時,ng-change事件不會觸發,但當我通過「鍵入日期」更改值時正在工作。有棱角的日期選擇器沒有發射ng變化

這是我的代碼。

<input ng-change="date_change();" ng-model="date_to" id="recon-date" name= "date_to" type="text" class="form-control" date-time view="month" auto-close="true" min-view="month" format="MM-DD-YYYY"> 

我通過調查datepicker.js來追蹤問題。我發現(如果我是正確的),ngModelController.serViewValue()和$ render()沒有觸發ng-change。

我試圖添加範圍$ apply()但沒有運氣。我正在調試幾個小時,但仍然沒有進展。

P.S.我不想使用$ scope。$ watch()來解決這個問題。

謝謝!

+0

的[angularjs timepicker NG-變化(http://stackoverflow.com/questions/17773412/angularjs-timepicker-ng-change) –

+0

謝謝,但我不重複的可能想要使用$ watch事件。我有這麼多的ngchange日期,並且不想在他們的每一箇中創建$ watch。 – aldesabido

+0

嘗試使用MD-日期選擇器或角datepicker.js代替datepicker.js –

回答

1

沒有ng-change,使用watch

$scope.date_to; 

$scope.$watch("date_to", function(newValue, oldValue) { 
    console.log("I've changed : ", to date); 
}); 
+0

謝謝,但我不想使用$ watch事件。我有這麼多的ngchange日期,並且不想在他們的每一箇中創建$ watch。 – aldesabido

+0

您可以使用手錶收集 – Sajeetharan

1

使用$apply,也許這將幫助你。

var scope=angular.element($('#recon-date')).scope();  
scope.$apply(); 
+0

謝謝。當我回來的時候會試試這個。謝謝。 – aldesabido

+0

不適合我。 – aldesabido

0

這是因爲你使用type="text"輸入嘗試將其更改爲type="date"然後當你點擊date將被解僱。

試試這個

<input ng-change="date_change();" ng-model="date_to" id="recon-date" name= "date_to" type="date" class="form-control" date-time view="month" auto-close="true" min-view="month" format="MM-DD-YYYY">

相關問題