var app = angular.module('plunker', []);
app.directive('toUpper', function() {
return {
require: 'ngModel',
link: function (scope, element, attr, ngModel) {
ngModel.$render = function () {
element.val(ngModel.$viewValue);
}
ngModel.$parsers.push(function (value) {
return value.toUpperCase();
});
element.bind('keyup', function () {
ngModel.$setViewValue(element.val());
});
}
}
});
<!DOCTYPE html>
<html ng-app="plunker">
<head>
<meta charset="utf-8" />
<title>AngularJS Plunker</title>
<script>document.write('<base href="' + document.location + '" />');</script>
<link rel="stylesheet" href="style.css" />
<script data-require="angular.js@1.3.x" src="https://code.angularjs.org/1.3.9/angular.js" data-semver="1.3.9"></script>
<script src="app.js"></script>
</head>
<body>
<textarea
ng-model="prout"
to-upper></textarea>
<pre>{{ prout }}</pre>
<input ng-model="prout">
</body>
</html>
/* Put your css in here */