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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie rufen Sie die Funktion auf ng-Veränderung gegenüber INPUT-element und senden "this" variable, dann werden Sie in der Lage sein, um Zugriff Anwendungsbereich der Richtlinie. mit denen können Sie Ihre controller-Modelle 🙂 HAPPY CODING
Problem sovled. Diese Antwort hat mir geholfen, das Verständnis der eigenen privaten Bereich der Datepicker. Ich konnte nicht über meinen eigenen controller.
Dank
wie binden Bootstrap-datepicker-element mit angularjs ng-model?