AngularJS Example 2
HTML
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css">
<div ng-app="myApp">
<div ng-controller="PatientController">
<label>Prénom: </label>
<input ng-model="patient.prenom" type="text" placeholder="saisissez le prenom">
<br>
<label>Nom: </label>
<input ng-model="patient.nom" type="text" placeholder="puis le nom">
<br>
<label>Date de naissance: </label>
<input ng-model="patient.dateNaissance" ui-date>
<hr>
<h1> {{label}} {{patient.prenom}} {{patient.nom}} {{patient.dateNaissance }}</h1>
</div>
</div>
CSS
</style> <!-- Ugly Hack due to jsFiddle issue: http://goo.gl/BUfGZ -->
<script src="http://code.angularjs.org/1.0.1/angular-1.0.1.min.js"></script>
<style>
.ng-invalid { border: 1px solid red; }
JavaScript
var myApp = angular.module('myApp', []);
myApp.directive('uiDate', function() {
return {
require: '?ngModel',
link: function($scope, element, attrs, controller) {
var originalRender, updateModel, usersOnSelectHandler;
if ($scope.uiDate == null) $scope.uiDate = {};
if (controller != null) {
updateModel = function(value, picker) {
return $scope.$apply(function() {
return controller.$setViewValue(element.datepicker("getDate"));
});
};
if ($scope.uiDate.onSelect != null) {
usersOnSelectHandler = $scope.uiDate.onSelect;
$scope.uiDate.onSelect = function(value, picker) {
updateModel(value);
return usersOnSelectHandler(value, picker);
};
} else {
$scope.uiDate.onSelect = updateModel;
}
originalRender = controller.$render;
controller.$render = function() {
originalRender();
return element.datepicker("setDate", controller.$viewValue);
};
}
return element.datepicker($scope.uiDate);
}
};
});
function Patient() {
this.nom;
this.prenom;
this.dateNaissance;
}
function PatientController($scope) {
$scope.patient = new Patient();
$scope.label = "Resultat : ";
}