我有一个帐户对帐单表(从响应中映射),其中有日期和另外两个带有复选框的列。
查看(HTML)
<table>
<tr>
<th>Statement Period</th>
<th>Mail Address</th>
<th>Email Address</th>
</tr>
<tr>
<td>Oct 2018</td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
</tr>
<tr>
<td>Nov 2018</td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
</tr>
<tr>
<td>Dec 2018</td>
<td><input type="checkbox"></td>
<td><input type="checkbox"></td>
</tr>
</table>
<button ng-click="getSelectedData">Proceed</button<
基于$ index(数组ID),我希望从每行中选择一个复选框,并像下面的JSON格式那样以数组形式发送;
注意:选中的复选框代表“ Y”,另一个代表“ N”
JSON数组(预期响应)
[
{
"isEmail": "Y",
"isMail": "N",
"month": "12",
"year": "2018"
},
{
"isEmail": "Y",
"isMail": "N",
"month": "10",
"year": "2018"
}
]
我想发送带有以上参数(如电子邮件地址和物理地址)的上述格式的POST响应。我已经尝试过for循环,但是似乎运气没了。
控制器JS
$scope.sendStatementList = function(i) {
var listLenght = $scope.accountStatementList.lenght;
for (var i = 0; i < listLenght; i++) {
var selectItem = $scope.accountStatementList[i];
return selectItem;
}
console.log(selectItem);
};
我尝试了多种方法,但是仍然很茫然,对正确的方法一无所知。任何帮助将不胜感激。
P.S。这是我的查询的键符(demo)。
答案 0 :(得分:1)
尝试一下:
https://next.plnkr.co/edit/6GLQtI85vPE0V98x
只需创建另一个与您现有数组映射的数组即可:
$scope.finalResponse = $scope.statementListRespone.map(function(st){
return {
"month" : $filter('date')(st, "MM") ,
"year" : $filter('date')(st, "yyyy"),
"isMail": "N",
"isEmail": "N"};
});
并通过绑定到另一个数组来更新标记,例如:
<input type="checkbox" id="email-{{$index}}" name="email" ng-modal="email"
ng-model="finalResponse[$index]['isEmail']"
ng-true-value="'Y'" ng-false-value="'N'">
因此,在单击按钮时:您只需发送您的 finalResponse 数组。