gpt4 book ai didi

javascript - 如何使用 AngularJS 动态获取文本框值

转载 作者:行者123 更新时间:2023-11-30 16:16:43 25 4
gpt4 key购买 nike

我按照以下教程在 Angular 中添加了两个值; Addition of Two Numbers in AngularJS

但现在我必须在 ng-repeat 中对动态文本框值求和。

我有以下代码

HTML 代码

 ......
<table>
<tr>
<th>Name</th>
<th>Days</th>
</tr>
<tr ng-repeat="si in serImp">
<td>{{si.Name}}</td>
<td><input type="number" ng-model="si.Days" /></td>
</tr>
</table>
.......
<button ng-click="sum()">Calculate</button>
.......

JS代码

.........
$scope.serImp = [];
$scope.serImp = data;
// here data is object contain multiple Name+Durations e.g.
/*data =
[0]
Name:"first"
Days: 1
[1]
Name:"second"
Days: 2
[2]
Name:"third"
Days: 3*/

$scope.sum = function () {
// sum code goes here
}
........

我的问题是:如何从 ng-model="si.Days"中获取值/数字的总和

最佳答案

使用reduce来总结所有的日子。当您使用 ng-model 修改值时,您正在操作 $scope.serImp 数组。然后,您可以使用这些值来计算总和。

$scope.sum = function () {
return $scope.serImp.reduce(function(prv, cur) {
return prv.Days + cur.Days;
});
}

Reduce 接受一个数组,并通过对它的所有元素应用一个函数将其缩减为一个值。在我们的例子中,只需将所有天数相加即可。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

关于javascript - 如何使用 AngularJS 动态获取文本框值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35391476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com