UI-bootstrap-datepicker-ng-Modell $scope Daten nicht korrekt im controller

Ich versuche zu verwenden UI-datepicker startet damit ein Benutzer ein Datum auswählen. Die ausgewählten Informationen, die ich davon ausgehen gespeichert ist, in das ng-Modell $Umfang.enddate variable. Nachdem Sie ein Datum ausgewählt wird, werden die korrekten Informationen angezeigt werden, im browser Debuggen Abschnitt oben.

Ansicht

<pre>
        ----------
        Debugging:
        {$ modelStartdate $}
        {$ !!partners.length $}

        Chosen stardate: The {$ startdate.getDate() $} of {$ startdate.getMonth() $}
        Chosen End-date: The {$ enddate.getDate() $} of {$ enddate.getMonth() $}
        Chosen Current year {$ enddate.getFullYear() $}
    </pre>
    <input            ng-click="openStartEndPicker($event, 'secondCal')"
                      type="text"
                      class="form-control"
                      datepicker-popup="yyyy/MM/dd"
                      ng-model="enddate"
                      is-open="modelEnddate.secondCal"
                      name="secondCal"
                      max-date="'2015-06-22'"
                      datepicker-options="dateOptions"
                      date-disabled="disabled(date, mode)"
                      ng-required="true"
                      close-text="Close"
                      datepicker-mode="month"/>

 <button ng-click="findNotLinkedPartners()" type="submit" class="btn btn-info">
          <span><i class="glyphicon glyphicon-repeat"> Validate</i></span>
         </button>

Auf eine ng-click-Ereignis möchte ich diese Daten verwenden, um eine post-Anfrage.
Aber ich bekomme immer die Standard-Informationen 2015 - 4 in der Konsole??

Controller:

//Datepicker (selfenvoicing)
        $scope.startdate ='';
        $scope.enddate ='';

        //Set start end end date based on current day
        $scope.initDates = function() {
            var date = new Date();
            $scope.startdate = new Date(date.getFullYear(), date.getMonth(), 1);
            $scope.enddate  = new Date(date.getFullYear(), date.getMonth() + 1, 0);

            //Do initial partner validatioin with this year/month information (selve invoiking function)
        }();

        //In-calender functions/options
        $scope.today = function() {
            $scope.dt = new Date();
        }();

        $scope.toggleWeeks = function () {
            $scope.showWeeks = ! $scope.showWeeks;
        };
        $scope.clear = function () {
            $scope.dt = null;
        };
        $scope.toggleMin = function() {
            $scope.minDate = ( $scope.minDate ) ? null : new Date();
        }();
        $scope.dateOptions = {
            'year-format': "'yy'",
            'starting-day': 1
        };

        //trick to prevent not opening calender next time
        $scope.modelEnddate = {};

        $scope.openStartEndPicker = function($event, elementOpened) {
            $event.preventDefault();
            $event.stopPropagation();

            $scope.modelEnddate[elementOpened] = !$scope.modelEnddate[elementOpened];
        };

Funktion, die aufgerufen werden:

$scope.findNotLinkedPartners = function() {

          console.log($scope.enddate.getFullYear() + " - " + $scope.enddate.getMonth());
  //POST request here
}; 
  • Können Sie reproduzieren es in einer plnker? Ich würde sicherstellen, dass findNotLinkedPartners ist in dem gleichen controller(scope) als Erklärung der "endDate", da es nicht klar aus dem code-Schnipsel zur Verfügung gestellt.
InformationsquelleAutor Ive Weygers | 2015-05-11
Schreibe einen Kommentar