var app = angular.module('App', []);
app.controller('Ctrl', function($scope) {
$scope.item = [
{
field : [
{
name : 'Bird',
id : 'littleBird',
value : 'Dove'
},
{
name : 'Dog',
id : 'bigGreyDog',
value : 'Lucky'
},
{
name : 'Cat',
id : 'tinyKitty',
value : 'Fluffy'
},
{
name : 'Bug',
id : 'uglyBug',
value : 'Buggy'
}
]
}
]
$scope.addRow = function() {
var copy = angular.copy($scope.item[0]);
$scope.item.push(copy)
}
$scope.removeRow = function(index) {
$scope.item.splice(index, 1)
}
})
.delete{width: 100%;}
.deleteparent{border:none;}
table{border:none;}
table thead th{border:1px solid #ccc;border-collapse:collapse !important;}
<!DOCTYPE html>
<html ng-app='App'>
<head>
<script data-require="[email protected]" data-semver="1.5.8" src="https://opensource.keycdn.com/angularjs/1.5.8/angular.min.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-controller='Ctrl'>
<h1>table</h1>
<table>
<thead>
<tr>
<th ng-repeat='item in item[0].field'>{{item.name}}</th>
</tr>
</thead>
<tbody ng-form='tableForm'>
<tr ng-repeat='row in item'>
<td ng-repeat='field in row.field'>
<input type="text"
ng-model='field.value'
name='{{field.id}}'
required
ng-class='{"is-invalid": tableForm[field.id].$invalid}'>
</td>
<td ng-if='$index !== 0' class="deleteparent"
><button style='color:red;cursor:pointer'
ng-click='removeRow($index)' class="delete">X</button></td>
</tr>
</tbody>
</table>
<button ng-click='addRow()'>add row</button>
</body>
</html>
你的問題不是很清楚,而且Plunkr不在這裏加載,所以我不確定問題是什麼。你能否重新解釋這個問題,並添加一個stacksnippet? –
這是奇怪的結果我檢查plnkr和它的工作..無論如何我更新我的問題:) – YoroDiallo
哦,我使用NoScript,顯然它與Plunkr,甚至當我禁用它發生衝突。好。那麼,這就是表格佈局:固定工作:第一行決定表格單元的寬度。如果你想讓最後一列的寬度爲30px,可以給thead添加一個額外的值。然後桌子會知道有5列,你可以設計最後一個。參見[更新的Plunkr](https://plnkr.co/edit/Y3owOO5oFKtSzOFG5HO3?p=preview)。 –