Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.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 将动态创建的ng模型嵌套到ng repeat中_Javascript_Angularjs - Fatal编程技术网

Javascript 将动态创建的ng模型嵌套到ng repeat中

Javascript 将动态创建的ng模型嵌套到ng repeat中,javascript,angularjs,Javascript,Angularjs,我知道这个问题有很多问题,但我无法解决我的问题 我的项目的最终结果是创建一个xml文件 为此,我需要要求用户选择一个根节点,根据他的选择,我向数据库发送一个请求,以检索此根节点的可能子节点。然后他选择了他想要的子节点,我发送了另一个请求来检索这个节点可能的子节点,依此类推,直到我找到一个叶子 所以我需要使下拉列表动态显示。但是为了能够创建xml,我需要保存他所做的每个选择,所以我需要将所选节点保存在单独的ng模型中 基于其他问题和答案,我尝试了以下方法: html: <select

我知道这个问题有很多问题,但我无法解决我的问题

我的项目的最终结果是创建一个xml文件

为此,我需要要求用户选择一个根节点,根据他的选择,我向数据库发送一个请求,以检索此根节点的可能子节点。然后他选择了他想要的子节点,我发送了另一个请求来检索这个节点可能的子节点,依此类推,直到我找到一个叶子

所以我需要使下拉列表动态显示。但是为了能够创建xml,我需要保存他所做的每个选择,所以我需要将所选节点保存在单独的ng模型中

基于其他问题和答案,我尝试了以下方法:

html:

    <select ng-model='selectedstandard' ng-options='item for item in standard' ng-change="getTypes()">
        <option value="">select standard</option>
    </select>

    <select ng-model='selectedstandard[$index]' ng-options='item for item in standard' ng-change="getTypes()" ng-repeat="node in nodes">
        <option value="">select standard</option>
    </select>
但是我得到一个错误,告诉我$index没有定义


我想名为selectedstandard和selectedstandard[$index]的两个ng模型不是一个好主意,但我需要以某种方式初始化循环。

这个$index来自哪里?你把ng repeat的$index搞错了吗?老实说,我真的不知道,因为我试图修改我在另一个问题中看到的一些代码。但是我猜它是ng-repeat中的$index。那么您不能在这里使用它,尽管在头文件中使用$scope.selectedstandard设置后:{}?它是在前面设置的,http请求不会影响它。我知道http不会影响它,因为它只是使用它发出请求,但是scope.getTypes发出http请求,然后设置“selectedstandard”所以在这里我想问一下这个逻辑[if/else]应该做什么,你在检查什么$index,为什么?
$scope.nodes=[];
$scope.getTypes = function(){
  $scope.types = $http({
     method: 'GET',
     url: 'http://localhost:8080/hello/types',
     headers: {'Content-Type': 'application/json', 'standard' : $scope.selectedstandard}
     }).success(function (data) 
     {
         $scope.types=data;
         var i=0;
         var simpleTypesTemp = JSON.parse(JSON.stringify($scope.types));
         for(var ty in $scope.types){
         var valuetab=($scope.types[ty]).split(":");
         simpleTypesTemp[ty]= valuetab[0]+":...:"+valuetab[(valuetab.length)-1];
     }
 });
 if($index){
    $scope.nodes.push($scope.selectedstandard[$index]);
 }
 else{
    $scope.nodes.push($scope.selectedstandard);
  }
  $scope.getNameSpace();
}