Ich versuche, einige Daten (eventuell über ein Array, das ich zur Verfügung stelle) mit dem datepicker
Steuerelement zu deaktivieren. Es scheint jedoch, dass nichts Nützliches an die dateDisabled
Funktion weitergegeben wird. Wenn ich einen Haltepunkt in den Entwicklertools festlege, erscheint die erste Variable (die in den Dokumentationsbeispielen auf data
gesetzt ist) einfach als die Zahl Null.Deaktivieren von Daten mit Bootstrap datepicker
Ich habe überprüft, dass die Option selbst funktioniert, wie eine leere true
deaktiviert alle Daten deaktiviert. Was muss ich tun, um gültige Eingaben zu erhalten?
Hinweis: Ich habe gerade festgestellt, dass wir eckige-ui-Bootstrap-Version 0.12.1 verwenden.
JS
//options object for the datepicker control
$scope.dateOptions = {
dateDisabled: disableDates,
formatYear: "yyyy"
};
// Disable weekend selection
function disableDates(date, mode) {
//return mode === 'day' && (date.getDay() === 5 || date.getDay() === 6);
//return true;
return date === new Date(2016, 6, 18);
}
//Set the calendar open
$scope.openCalendar = function (e) {
e.preventDefault();
e.stopPropagation();
$scope.vm.is_cal_open = !$scope.vm.is_cal_open;
};
$scope.hasInvalidErrorDate = function (date) {
if (!date || date <= Date.parse("1/1/1900")) {
return true;
}
return false;
};
$scope.earliestErrorDate = Date.parse("1/1/1900");
HTML
<div class="col-sm-4">
<!-- Error Date -->
<div class="form-group" ng-class="{'has-error': hasInvalidErrorDate(vm.data.adjustment.error_date) && form.$dirty}">
<label for="error_date">Error Date</label>
<p class="input-group calendar-wrapper">
<!--input disabled the input so that it forces users to use the date picker and therfore ensure good input-->
<input type="text" datepicker-popup="MM/dd/yyyy"
title="Click the calendar button"
name="error_date"
datepicker-options="dateOptions"
class="form-control"
is-open="vm.is_cal_open"
width="5"
ng-disabled="true"
ng-model="vm.data.adjustment.error_date"
min-date="dateOptions.minDate" />
<span class="input-group-btn">
<button type="button" class="btn btn-default delegate-cal-btn" ng-click="openCalendar($event)"><i class="fa fa-calendar"></i></button>
</span>
</p>
<span class="text-danger small" ng-show="hasInvalidErrorDate(vm.data.adjustment.error_date) && form.$dirty">
Please select an error date
</span>
</div>
</div>
wo ist 'dateOptions.minDate' in Ihrer' dateOptions' Methode –
@PraveshKhatri Es wurde irgendwann in meiner Bastelei entfernt. Es zurück zu geben, hilft weder, noch tut es meiner Sache weh. –