次のような 2D 配列があります。
var header = [A, B, C]
var allData = [
[A1, B1, C1]
[A2, B2, C2]
[A3, B3, C3]
];
配列の保存ははるかに大きく、多くの空のインデックスがあります。
AngularJS を使用して、ある種のスプレッドシートを作成しました。これは入力テキスト ボックスで形成され、ボックスの値は配列にあるものです。
<script>
sheet= function($scope, $parse){
$scope.columns = header;
$scope.rows = allData.length;
$scope.cells = {};
$scope.values = allData.map(function(c,row){
return c.map(function(data, ind){
return {
content: data,
model: null,
};
});
});
};
</script>
<div ng-app ng-controller="sheet">
<center><table>
<tr class="column-label">
<td ng-repeat="column in columns">{{column}}</td>
<tr ng-repeat="value in values">
<td class="row-label" ng-repeat="data in value">
<div>
<input type="text" ng-model="data.content" value="{{data.content}}">
</div>
</td>
</tr>
</table></center>
</div>
ただし、これらの配列インデックスの多くは空であるため、ユーザーはそれらを入力する必要があります。ユーザーがデータを入力するときに allData 配列を動的に変更する方法を見つけたいと思います。ボタンをクリックすると、サーバーに情報を送信する前に配列が更新されます。
たとえば、ユーザーが「C2」を「2C」に変更した場合、allData 配列を次のように更新します。
var allData = [
[A1, B1, C1]
[A2, B2, 2C]
[A3, B3, C3]
];
どうすればこれを行うことができますか?