Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何循环遍历AngularJS中的值表_Javascript_Angularjs - Fatal编程技术网

Javascript 如何循环遍历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>

我有一个通过angularJS数组从数据库填充的表

<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
的内容以进行检查。