Stare pytanie, ale było to pierwsze trafienie dla mnie w google dla tego produktu. Tak czy inaczej, użyłem dwóch datepickerów współpracujących ze sobą za pomocą jquery i dyrektyw kątowych, więc pomyślałem, że podzielę się tym, aby pomóc każdemu, kto próbuje to zrobić.
Oto plunker do niego:
http://plnkr.co/edit/veEmtCM3ZnQAhGTn5EGy?p=preview
Zasadniczo inicjuje formularz za pomocą JSON. Datepickers mają swoje własne warunki, takie jak mindate itp.Pierwsze pole wyboru, jeśli true = wyłącza niedziel w kalendarzach, w przeciwnym razie je włącza.
aktualizacje ViewModel dostać, kiedy „Gotowe” kliknięciu. Oto kawałek kodu dla jednego z datepickers:
HTML:
<input id="StartDate" data-ng-model="viewModel.startdate" date-from />
dyrektywa:
app.directive('dateFrom', function() {
return function (scope, element, attrs) {
var doDate = $('#EndDate');
element.datepicker({
dateFormat: 'dd-M-yy', showOtherMonths: true,
selectOtherMonths: true, minDate: '0',
beforeShowDay: function (date) {
var day = date.getDay();
console.log(scope.nosunday);
if (scope.nosunday === 'true') return [(day !== 0), '']; // disable sundays
else return [true, ''];
},
onSelect: function (selectedDate) {
var toDate = new Date(element.datepicker("getDate"));
toDate.setDate(toDate.getDate() + 1);
doDate.datepicker('option', 'minDate', toDate);
scope.viewModel.startdate = selectedDate;
scope.viewModel.enddate = doDate.val();
}
});
}
})
Zapraszam do zoptymalizować go dalej. Zamieść komentarz o rozszczepionym rzucać jeśli nie :)
ok dobrze I wydaje się, że rozwiązanie - http : //jsfiddle.net/9BRNf/2/ - nadal chciałby wiedzieć, czy jest to poprawny/najlepszy sposób rozwiązania tego problemu. –
Uważam, że onSelect datepicker nie jest potrzebny. Wartości zostaną już powiązane z modelem po zmianie selektora. – dj2
@ dj2 to właśnie pomyślałem, ale sprawdź skrzypce w oryginalnej wiadomości - model nie jest wiążący. –