Como fazer um trabalho de entrada formatado em porcentagem no mais recente AngularJS?
Eu vi essa soluçãohttp://jsfiddle.net/gronky/GnTDJ/ e funciona. Ou seja, quando você digita 25, ele é retrocedido para o modelo como 0.25
HTML:
<script type="text/javascript" ng:autobind
src="http://code.angularjs.org/0.9.17/angular-0.9.17.js"></script>
<script>
function Main() {
this.var = '1.0000';
}
</script>
<div ng:controller="Main">
<input type="text" name="var" ng:format="percent">
<pre>var = {{var|json}}</pre>
</div>
JavaScript:
angular.formatter('percent', {
parse: function(value) {
var m = value.match(/^(\d+)\/(\d+)/);
if (m != null)
return angular.filter.number(parseInt(m[1])/parseInt(m[2]), 2);
return angular.filter.number(parseFloat(value)/100, 2);
},
format: function(value) {
return angular.filter.number(parseFloat(value)*100, 0);
},
});
Eu tentei fazer isso funcionar no mais recente AngularJS, ele não funciona maishttp://jsfiddle.net/TrJcB/ Ou seja, quando você insere 25, ele é retornado como 25 também, ele não aplica o valor correto de 0.25 ao modelo.
Ou talvez já exista um formatador embutido por cento? Eu queria formatador monetário também, ou um número separado por vírgulas.