Как отобразить номер в формате INR в текстовом поле (тип ввода = текст). Поэтому, когда пользователь продолжает изменять текст, он должен соответственно форматироваться в формате INR.Формат валюты INR в AngularJs в типе ввода = текстовые поля
Ниже код работает, если мы привязываем ng-модель.
var app = angular.module('app', []);
app.controller('indexCtrl', function ($scope) {
$scope.amount = 12564252.33;
});
app.filter('INR', function() {
return function (input) {
if (! isNaN(input)) {
var result = input.toString().split('.');
var lastThree = result[0].substring(result[0].length - 3);
var otherNumbers = result[0].substring(0, result[0].length - 3);
if (otherNumbers != '')
lastThree = ',' + lastThree;
var output = otherNumbers.replace(/\B(?=(\d{2})+(?!\d))/g, ",") + lastThree;
if (result.length > 1) {
output += "." + result[1];
}
return output;
}
}
});
<!DOCTYPE html>
<html ng-app="app">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
</head>
<body ng-controller="indexCtrl">
Input: <input type="text" ng-model="amount">
<h3>{{amount | INR}}</h3>
</body>
</html>
в основном я хочу, чтобы поле ввода должен сам быть разделены запятой, как только пользователь печатает.
Фактически я не ищу привязки модели ng. Я хочу, чтобы поле ввода содержало формат INR, разделенный запятыми. – Sharath