Добавление запятой после каждого ввода HTML / JS - PullRequest
0 голосов
/ 17 июня 2020

Я видел довольно много списков, связанных с этим вопросом, но ни один из них, похоже, не работает или не совсем соответствует моим требованиям.

У меня есть документ HTML с вводом type="text". Я пытаюсь принимать числа от пользователя, и после каждого ввода появляется запятая.

Пример

User Enters 1234 -> Display 1,2,3,4

Я бы хотел, чтобы значения были сохранены в массиве на обратной стороне, в том же примере

array[0] = 1
array[1] = 2
array[2] = 3
array[3] = 4

My HTML FILE выглядит вот так

<div class="input-group mb-3">
    <input type="text" ng-keyup="format(this)">
</div>

Верхний DIV CLASS использует ng-контроллер

<div class="modal-body" ng-controller="SplitCtrl">

Мне просто любопытно, как я могу вызвать этот контроллер, чтобы создать функцию, которая будет разделять мои входные данные.

Ответы [ 2 ]

0 голосов
/ 18 июня 2020

Если вам не нужны числа с несколькими символами (например, 10), это должно работать.

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <script src="//code.angularjs.org/1.8.0/angular.min.js"></script>  
</head>
<body ng-app="myApp">
<script>
  angular.module('myApp', [])
    .controller('AppController', ['$scope', function($scope) {
      $scope.change = function() {
        $scope.numbers = $scope.numbers.replace(/,/g, '').split('').join(',');
      };
    }]);
</script>
<div ng-controller="AppController">
  <input type="text" ng-model="numbers" ng-change="change()" />
</div>
</body>
</html>
0 голосов
/ 17 июня 2020

Я бы сделал примерно так:

<div ng-controller="SplitCtrl">
  <div class="input-group mb-3">
    <input type="text" ng-model="text" ng-keyup="format($event)">
  </div>
</div>
var app = angular.module('myApp', []);

app.controller('SplitCtrl',['$scope' ,function ($scope) {
  $scope.format = function(e) {
    if ($scope.text.length > 1) {
      var text = $scope.text.split('').filter(function(_, i) {
        return (i % 2) === 0;//filter out previous commas
      }).join('') + e.key;
      $scope.text = text.split('').join(',');
    }
  }
}])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...