2014-12-07 38 views
2

當我選擇一個日期或時間時,它不會立即改變我的模態。只有在我第二次選擇日期後(第一次選擇日期得到更新),更改纔會反映出來。 任何線索?第一次約會只在我選擇日期後第二次更新我的模態

<div class="item item-input"> 
    <div class="row"> 
     <div class="col"> 
      <i class="icon ion-ios7-calendar-outline placeholder-icon"></i> 
      <span ng-model="bookCtrl.Start_Booking_Date" ng-click="showDatePicker()">{{ dateSelected }}</span> 
     </div> 
     <div class="col"> 
      <i class="icon ion-ios7-clock-outline placeholder-icon right"></i> 
      <span class="right" ng-click="showTimePicker()">{{ timeSelected }}</span> 
     </div> 
    </div> 
</div> 

我showDatePicker()函數:

$ scope.showDatePicker =函數(){

$cordovaDatePicker.show({ 
date: new Date(), 
mode: 'date', 
allowOldDates : false 

}),然後(函數(日期){

// $ scope.display.completionDate = $ filter('date')(new Date(date));

if(!isNaN(date.getDate())) 
{ 
    $scope.dateSelected=date.getDate()+"-"+(1+date.getMonth())+"-"+date.getFullYear(); 
    b.Start_Booking_Date=$scope.dateSelected; 
} 

});

};

+0

什麼'Start_Booking_Date'和'dateSelected',你的NG-模型之間的關係,你正在做打印不同 – harishr 2014-12-07 06:13:59

+1

您正在使用什麼日期選擇器?聽起來你需要一個'$ scope。$ apply()'來觸發摘要循環。 – tasseKATT 2014-12-07 11:52:48

+0

你的第二個跨度是否缺少ng模型?大概複製粘貼錯誤,與問題無關。你也可以分享showDatePicker()和showTimePicker函數嗎? – SoEzPz 2014-12-08 22:31:23

回答

0

在您的承諾的then()中,將代碼封裝在$ scope。$ apply()中以確保角度知道更改。

$scope().$apply(function(){ 
    $scope.dateSelected=date.getDate()+"-"+(1+date.getMonth())+"-"+date.getFullYear(); 
    b.Start_Booking_Date=$scope.dateSelected; 
}); 
+0

謝謝它解決了我的問題... – kpshrheb 2015-03-15 08:20:52

相關問題