Javascript 多维数组的ng模型
我目前正在尝试使用AngularJS存储一些数据。我有一个包含不同部分以及行和列的表 每个字段都有一个下拉列表,仅包含字母“O”、“T”或“E”。我想要的是将这些值存储在一个数组中:[section][row][column]-例如[0][0][0]=“e” 以下是我尝试存储值的方式:Javascript 多维数组的ng模型,javascript,angularjs,arrays,Javascript,Angularjs,Arrays,我目前正在尝试使用AngularJS存储一些数据。我有一个包含不同部分以及行和列的表 每个字段都有一个下拉列表,仅包含字母“O”、“T”或“E”。我想要的是将这些值存储在一个数组中:[section][row][column]-例如[0][0][0]=“e” 以下是我尝试存储值的方式: <select id="{{$parent.$parent.$index}}_{{$parent.$index}}_{{$index}}" ng-change="changePollValue()"
<select id="{{$parent.$parent.$index}}_{{$parent.$index}}_{{$index}}"
ng-change="changePollValue()"
ng-model="selectedValues[$parent.$parent.$index][$parent.$index][$index]" ...>
“selectedValues”的初始化类似于$scope.selectedValues=[]代码>
有什么建议吗 看起来您真正想要的是一个矩阵,而不是用javascript生成矩阵的方式。这就是生成三维矩阵的方式:
$scope.matrix = [[[]]];
像这样,您有一个父数组,它的子数组是另一个数组(这构成了一个简单的矩阵),然后,这个子数组还有另一个子数组(父数组的孙子数组),然后这个子数组成为三维数组。看一看三维数组定义,其中包含一些子对象和子对象:
$scope.matrix = [
[
[
{ selectedOption: '0-0-0' },
{ selectedOption: '0-0-1' },
{ selectedOption: '0-0-2' }
], [
{ selectedOption: '0-1-0' },
{ selectedOption: '0-1-1' },
{ selectedOption: '0-1-2' }
]
], [
[
{ selectedOption: '1-0-0' },
{ selectedOption: '1-0-1' },
{ selectedOption: '1-0-2' }
], [
{ selectedOption: '1-1-0' },
{ selectedOption: '1-1-1' },
{ selectedOption: '1-1-2' }
]
]
];
在这种情况下,第一个数字与父索引相关,第二个数字(连字符后)与子索引相关,第三个索引(最后连字符后)与孙索引相关。因此,1-1-1指向第二个父项(0基索引),第二个子项和第二个孙子项
我已经做了一个例子。谢谢!我不知道创建矩阵的[[]]-语法。我尝试了Java语法,但没有成功。没问题@DCH。如果这真的对你有帮助并且是正确的答案,你可以这样做。玩得高兴
$scope.matrix = [
[
[
{ selectedOption: '0-0-0' },
{ selectedOption: '0-0-1' },
{ selectedOption: '0-0-2' }
], [
{ selectedOption: '0-1-0' },
{ selectedOption: '0-1-1' },
{ selectedOption: '0-1-2' }
]
], [
[
{ selectedOption: '1-0-0' },
{ selectedOption: '1-0-1' },
{ selectedOption: '1-0-2' }
], [
{ selectedOption: '1-1-0' },
{ selectedOption: '1-1-1' },
{ selectedOption: '1-1-2' }
]
]
];