2017-02-06 3 views
0

Ich habe zwei Datumsauswahl und eine Dropdownliste, wenn ich die Dropdownliste auswähle, möchte ich die Datumsauswahl basierend auf dem ausgewählten Element ändern, siehe meinen Code unten.Kendo Datumsauswahl wird nicht aktualisiert, nachdem K-ng-Modell geändert wurde

$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; 
 
      } 
 
     }

Aber nachdem ausgewähltes Element geändert wird, wird die Datumsauswahl nicht direkt ändern, wenn ich ein anderes Element auszuwählen, die vorherige Anzeige zugewiesenen Wertes in der Datumsauswahl. Jeder kann helfen?

Antwort

0

Rufen Sie einfach $ scope auf. $ Digest() kann helfen, den DatePicker

zu aktualisieren
Verwandte Themen