Javascript 如何循环遍历AngularJS中的值表
我有一个通过angularJS数组从数据库填充的表Javascript 如何循环遍历AngularJS中的值表,javascript,angularjs,Javascript,Angularjs,我有一个通过angularJS数组从数据库填充的表 <table class="table table-striped table-bordered"> <thead> <tr> <th>Code</th> <th>Description</th> <th>Budget Amount</th>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Code</th>
<th>Description</th>
<th>Budget Amount</th>
<th>Actual Amount</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="lineItem in vm.budget.budgetLines">
<td>
{{lineItem.code}}
</td>
<td>@{{lineItem.description}}</td>
<td>{{lineItem.budgetAmount | currency}}</td>
<td><input type="number" class="form-control" ng-model="lineItem.actualAmount" required /></td>
</tr>
</tbody>
</table>
代码
描述
预算金额
实际金额
{{lineItem.code}
@{{lineItem.description}
{{lineItem.budgetAmount | currency}}
数据总体运行良好。但是,如果您查看该表,您会注意到最后一列中有一个输入字段。我需要能够使用对输入所做的更改执行更新,我只需要操作的第一列和最后一列。我使用了下面的方法,但它不起作用,因为它只使用了第一次填充表的原始值
$scope.lineItems = [];
for (var i = 0; i < vm.budget.budgetLines.length; i++) {
var lineItem = vm.budget.budgetLines[i];
$scope.lineItems.push({
'code': lineItem.code,
'actualAmount': lineItem.actualAmount
});
}
$scope.lineItems=[];
对于(变量i=0;i
因此,我想到在angular控制器中使用纯javascript来循环表行,并像这样在数组中推送所需的列
var myTable = document.getElementById("tblValues");
var current, cell;
for (var i = 0; i < myTable.rows.length ; i++) {
var rowItem = myTable.rows[i];
$scope.lineItems.push({
'code': rowItem.cells[1],
'actualAmount': rowItem.cells[4].children[0].value
});
}
var myTable=document.getElementById(“TBL值”);
无功电流,电池;
对于(var i=0;i
但控制台中引发错误:rowItem.cells[4]。未定义子项[0]
请问我怎样才能让它按我想要的方式工作?我让它按我想要的方式工作
var myTable = document.getElementById("tblValues");
var current, cell;
$scope.lineItems.length = 0;
for (var i = 0; i < myTable.rows.length ; i++) {
var rowItem = myTable.rows[i + 1];
$scope.lineItems.push({
'code': rowItem.cells[1].innerText,
'actualAmount': rowItem.cells[4].firstChild.value
});
}
var myTable=document.getElementById(“TBL值”);
无功电流,电池;
$scope.lineItems.length=0;
对于(var i=0;i
我让它按照我想要的方式工作
var myTable = document.getElementById("tblValues");
var current, cell;
$scope.lineItems.length = 0;
for (var i = 0; i < myTable.rows.length ; i++) {
var rowItem = myTable.rows[i + 1];
$scope.lineItems.push({
'code': rowItem.cells[1].innerText,
'actualAmount': rowItem.cells[4].firstChild.value
});
}
var myTable=document.getElementById(“TBL值”);
无功电流,电池;
$scope.lineItems.length=0;
对于(var i=0;i
将相关代码提取到工作演示中(例如使用Plunker),这里的人可以帮助您查看。从您上面的代码中,我只能说rowItem.cells[4]。如果未定义子项[0]
,您可以轻松地记录rowItem
的内容以进行检查。将相关代码提取到工作演示中(例如使用Plunker),这里的人可以帮助您查看。从上面的代码中,我只能说rowItem。单元格[4]。子项[0]
未定义,您可以轻松地记录rowItem
的内容以进行检查。