我正在尝试为数据库中String数组类型的变量之一动态添加行。但是它仅保存在行中输入的最后一个值,而不是将所有这些值保存在数组中。下面是我的查看代码:
<div class="row" ng-class='{red:true}'>
<label for="remedy">Remedy</label>
</div>
<input name="remedy" id="remedy" ng-model="error.remedy" required>
<br/>
<div class="row" ng-class='{red:true}'>
<a href="#!/errorcreate" class="btn btn-primary btn-small" ng-click="addRemedyRow()" ng-class='{red:true}'>Add Row</a></div>
<br/>
<table style="width:100%">
<thead>
<tr>
<th ng-class='{red:true}'>Remedy</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="rowContent in remedyrows">
<td>{{rowContent.remedy}}</td>
</tr>
</tbody>
</table>
{{error.remedy}}
<button type="submit" class="btn btn-default">Create</button>
<a href="#!errorinput" class="btn btn-default">Cancel</a>
这是javascript中的代码:
$scope.remedyrows = [];
$scope.addRemedyRow = function() {
$scope.remedyrows.push({
remedy: $scope.error.remedy
});
以下是我收到的输出(在屏幕截图中):
我添加了
dsdfg
作为第二行,而我的最终error.remedy
值仅显示了dsdfg
,而不是同时显示了两个值的数组:[wdssdsd,dsdfg]
。 error
是主文档,其中remedy
是String
数组类型的字段之一。关于如何实现这一目标的任何想法?
最佳答案
代替用作未来error.remedy
持有者的remedyrow
,使用中间变量output
显示结果并将其发送到服务器:
Javascript:
$scope.output = $scope.remedyrows.map(function(x) { return x.remedy; });
$http({data: $scope.output, method: 'POST', url: url});
HTML:
{{output | json}}
关于javascript - 如何在AngularJS中保存动态表的所有行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48800409/