Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.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 当前所选项目的角度传递索引(在选择列表中)_Javascript_Angularjs - Fatal编程技术网

Javascript 当前所选项目的角度传递索引(在选择列表中)

Javascript 当前所选项目的角度传递索引(在选择列表中),javascript,angularjs,Javascript,Angularjs,我正在尝试传递当前选定项的索引,以便使用它的索引深入挖掘某些嵌套数组。这是我到目前为止所拥有的 <select class="selectLevel1" ng-model="scope2" ng-change='scope2Change()' ng-options='area.name for area in array2 track by area.id' >

我正在尝试传递当前选定项的索引,以便使用它的索引深入挖掘某些嵌套数组。这是我到目前为止所拥有的

                    <select class="selectLevel1" ng-model="scope2"  ng-change='scope2Change()' 
                                ng-options='area.name for area in array2 track by area.id' >
                                </select>


                    <select class="selectLevel2" ng-model="scope3" ng-change='scope3Change()' 
                            ng-options='obj.name for obj in array3 track by obj.id' >
                    </select>
我的控制器:

$scope.scope1Change = function() {

        $scope.array3.length = 0;
        $scope.array4.length = 0;


        $scope.array2 = $scope.array[$scope.scope1].areas;

        angular.forEach($scope.array[$scope.scope1].areas, function(index) {
            angular.forEach(index.sections , function(indx){
                $scope.array3.push(indx);
            });
        });

        angular.forEach($scope.array[$scope.scope1].areas, function(tex) {
            angular.forEach(tex.sections , function(texi){

                angular.forEach(texi.lessons , function(texa){

                    $scope.array4.push(texa);

                });
            });
        });


    };
                    <select class="selectLevel1" ng-model="scope2"  ng-change='scope2Change()' 
                                ng-options='area.name for area in array2 track by area.id' >
                                </select>


                    <select class="selectLevel2" ng-model="scope3" ng-change='scope3Change()' 
                            ng-options='obj.name for obj in array3 track by obj.id' >
                    </select>
html:

                    <select class="selectLevel1" ng-model="scope2"  ng-change='scope2Change()' 
                                ng-options='area.name for area in array2 track by area.id' >
                                </select>


                    <select class="selectLevel2" ng-model="scope3" ng-change='scope3Change()' 
                            ng-options='obj.name for obj in array3 track by obj.id' >
                    </select>

                    <select class="selectLevel1" ng-model="scope2"  ng-change='scope2Change()' 
                                ng-options='area.name for area in array2 track by area.id' >
                                </select>


                    <select class="selectLevel2" ng-model="scope3" ng-change='scope3Change()' 
                            ng-options='obj.name for obj in array3 track by obj.id' >
                    </select>

因此,我需要当前所选项目的索引,以便它知道要查找哪个数组,然后填充它下面的选择列表(下面还有一些,我只是想先让它工作)。如果我硬编码括号中的一个值,比如$scope.array[0],它可以正常工作,但我正在尝试让它动态工作。[$scope.scope1]返回完整对象,当我只是查找其索引作为数值时。有什么方法可以在角度上做到这一点?谢谢

明白了

                    <select class="selectLevel1" ng-model="scope2"  ng-change='scope2Change()' 
                                ng-options='area.name for area in array2 track by area.id' >
                                </select>


                    <select class="selectLevel2" ng-model="scope3" ng-change='scope3Change()' 
                            ng-options='obj.name for obj in array3 track by obj.id' >
                    </select>
$scope.array[$scope.array.indexOf($scope.scope1)]

                    <select class="selectLevel1" ng-model="scope2"  ng-change='scope2Change()' 
                                ng-options='area.name for area in array2 track by area.id' >
                                </select>


                    <select class="selectLevel2" ng-model="scope3" ng-change='scope3Change()' 
                            ng-options='obj.name for obj in array3 track by obj.id' >
                    </select>