pregunta antiguo, pero esto fue el primer éxito para mí en la búsqueda de google para esto. De todas formas, utilicé los datapickers duales trabajando juntos usando jquery y directivas angulares, así que pensé en compartir para ayudar a cualquier otra persona que intentara hacer esto.
Aquí está la plunker para ello:
http://plnkr.co/edit/veEmtCM3ZnQAhGTn5EGy?p=preview
Básicamente se inicializa el formulario utilizando JSON. Los datapickers tienen sus propias condiciones, como mindate's, etc.El primer cuadro de selección si es verdadero = deshabilita los domingos en los calendarios, de lo contrario los habilita.
El viewmodel obtiene las actualizaciones cuando se hace clic en 'hecho'. Aquí hay un poco de código para uno de los datepickers:
HTML:
<input id="StartDate" data-ng-model="viewModel.startdate" date-from />
Directiva:
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();
}
});
}
})
dude para optimizar aún más. Publicar un comentario con un golpe seco en forma de horquilla si lo hace :)
bien, así me parece que tiene una solución - http : //jsfiddle.net/9BRNf/2/ - aún me gustaría saber si esta es la forma correcta/mejor de tratar este problema. –
Creo que onSelect of datepicker no es necesario. Los valores ya estarán vinculados al modelo cuando se cambie el seleccionador. – dj2
@ dj2 eso es lo que pensé, pero revisa el violín en el mensaje original: el modelo no es vinculante. –