2017-02-06 66 views
0

我有兩個日期選取器和一個下拉列表,當我選擇下拉列表時,我希望日期選取器基於所選項目更改,請參閱下面的代碼。在k-ng-model改變後,劍道日期選取器不會刷新

$scope.toolbarOptions = { 
 
       items: [{ 
 
        template: "<label>From</label>" 
 
       }, { 
 
        template: "<input kendo-date-picker k-ng-model='startDate'/>", 
 
        overflow: "never" 
 
       }, { 
 
        template: "<label>To</label>" 
 
       }, { 
 
        template: "<input kendo-date-picker k-ng-model='endDate'/>", 
 
        overflow: "never" 
 
       }, { 
 
        template: "<label>Period</label>" 
 
       }, { 
 
        template: "<select kendo-drop-down-list k-value-primitive='true' k-change='periodChanged' k-ng-model='selectedPeriod' k-data-source='periodDataSource' style='width:150px'/>", 
 
        overflow: "never" 
 
       }]}; 
 

 

 
$scope.periodChanged = function() { 
 
      var value = $scope.selectedPeriod; 
 
      var day = new Date(), year = day.getFullYear(), month = day.getMonth(); 
 
      switch (value) { 
 
       case "Today": 
 
        $scope.startDate = day; 
 
        $scope.endDate = day; 
 
        return; 
 
       case "This Week": 
 
        var first = day.getDate() - day.getDay();; 
 
        var last = first + 6; 
 
        $scope.startDate = new Date(day.setDate(first)); 
 
        $scope.endDate = new Date(day.setDate(last)); 
 
        return; 
 
       case "This Month": 
 
        $scope.startDate = new Date(year, month, 1); 
 
        $scope.endDate = new Date(year, month + 1, 0); 
 
        return; 
 
       case "This Year": 
 
        $scope.startDate = new Date(year, 0, 1, 23, 59, 59); 
 
        $scope.endDate = new Date(year + 1, 0, 0); 
 
        return; 
 
       default: 
 
        return; 
 
      } 
 
     }

但經過選擇的項目改變,日期選擇器不會直接改變,當我選擇其他項目,在日期選擇器以前分配的值顯示。任何人都可以幫忙

回答

0

只需調用$ scope。$ digest()可以幫助更新DatePicker