在动态创建的文本框中动态添加整数作为用户输入 - Angular JS

时间:2014-09-17 06:34:10

标签: javascript angularjs

我刚开始学习Angular JS,想要创建一个简单的计算器。首先要求用户输入操作数的数量。在此之后,我想显示许多用于输入操作数的文本框。下面是html(这不是计算器的完整代码):

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml" ng-app="myCalc">
<head>
    <meta charset="utf-8" />
    <title>Calculator</title>
</head>
<body ng-controller="FormController">
    <h3><em>Do your calculations here!!</em></h3>
    <div>        
        <p>Enter number of operands : <input type="number" ng-model="paramCount" name="count" ng-change="getNumber(paramCount)"/></p>
        <p ng-repeat="i in getNumber(paramCount)">Enter the operand : <input type="text" ng-model="numbers"/></p>
        <p><button ng-click="reset()">Reset</button></p>
    </div>
</body>
</html>

以下是脚本:

<script src="angular.min.js"></script>
<script> 
    var myCalcApp = angular.module('myCalc', []);

    myCalcApp.controller('FormController', function ($scope) {

        $scope.paramCount = 0;
        $scope.getNumber = function (num) {
            array = [];
            for (i = 1; i <= num; i++) {
                array.push(i)
            }
            return array;
        }
        $scope.reset = function () {                
            $scope.paramCount = 0;
        };
    });
</script>

我坚持将用户输入绑定到任何模型并使用它来计算总和。

非常感谢任何帮助。

感谢。

1 个答案:

答案 0 :(得分:0)

一种解决方案是:

1)在控制器中创建一个操作数数组。

示例:$ scope.operands = [];

2)在&#34; $ scope.getNumber&#34;中初始化它功能

3)更改此ng-model:

<input type="text" ng-model="numbers"/>

通过这个:

<input type="text" ng-model="operands[$index]"/>

我希望我的回答适合你。

一些有用的文档:https://docs.angularjs.org/api/ng/directive/ngRepeat