Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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 从AngularJS中嵌套的ng repeat内的下拉选项中获取选定值_Javascript_Angularjs - Fatal编程技术网

Javascript 从AngularJS中嵌套的ng repeat内的下拉选项中获取选定值

Javascript 从AngularJS中嵌套的ng repeat内的下拉选项中获取选定值,javascript,angularjs,Javascript,Angularjs,我正在尝试访问下拉选项的选定值。但问题是,我已经将ng repeat作为父div,并且在下拉列表中的选项也使用ng repeat。所以基本上它是嵌套的ng重复 因此,我无法访问选定的值 脸型: {{user.name} 如果我从父母那里跑出来,请重复 脸型: {{user.name} 安格拉斯 angular.module('MyApp', ['ngMaterial']) .controller('csrClrt', function ($scope) { $scope.it

我正在尝试访问下拉选项的选定值。但问题是,我已经将ng repeat作为父div,并且在下拉列表中的选项也使用ng repeat。所以基本上它是嵌套的ng重复

因此,我无法访问选定的值


脸型:
{{user.name}

如果我从父母那里跑出来,请重复

脸型: {{user.name}
安格拉斯

angular.module('MyApp', ['ngMaterial'])
.controller('csrClrt', function ($scope) {
     $scope.items=["0"];
     stylesdata=[{name:"a"},{name:"b"},{name:"c"}];
     var style=[];
     for(var i=0;i<stylesdata.length;i++)
     {
       style.push({
        name:stylesdata[i].name
       })
     }
     $scope.styles=style;
     $scope.getvalue=function()
     {

       alert($scope.style);
     }
})
angular.module('MyApp',['ngMaterial']))
.controller('csrClrt',函数($scope){
$scope.items=[“0”];
stylesdata=[{name:“a”},{name:“b”},{name:“c”}];
var样式=[];

对于(var i=0;iRepeat,隔离作用域如果您不想在没有隔离作用域的情况下执行此操作,则将变量绑定为对象,而不是像这样的独立变量

<md-select ng-model="a.style">

请参见fiddle

Repeat隔离作用域如果要在没有隔离作用域的情况下执行此操作,请将变量绑定为对象,而不是像这样的自变量

<md-select ng-model="a.style">

请参见FIDLE

两个下拉列表中的型号名称都相同
ng model=“style”>
。这是一个问题


您应该为
ng型号
指令提供spate名称

更新 另外,您的第一个
选择
标记位于
ng repeat
内,因此将创建多个
选择
标记。这次您应该传递索引并获取数据

因此,请将您的第一个drodown模型名称更改为
ng model=“item.style”>
。因此,现在您可以使用索引计数获取值,如
$scope.items[indexNumber]。style


请参阅演示:

两个下拉列表的型号名称都相同
ng model=“style”>
。这是一个问题


您应该为
ng型号
指令提供spate名称

更新 另外,您的第一个
选择
标记位于
ng repeat
内,因此将创建多个
选择
标记。这次您应该传递索引并获取数据

因此,请将您的第一个drodown模型名称更改为
ng model=“item.style”>
。因此,现在您可以使用索引计数获取值,如
$scope.items[indexNumber]。style


请参阅演示:

但两个下拉列表显示的是相同的名称,因为模型名称相同。应该为其提供不同的名称。是的,如果每个元素需要不同的选择值,则需要一个不同的名称,但如果相同,则是我的ans,因为相同的名称在repeat和outside中的行为不同。但是使用它是个坏主意两个不同的控件具有相同的模型名。@RameshRajendran这是真的,但我不知道OP que是在实现方面还是在理解方面:)。只需使用两个警报框来显示值。您可以从我的小提琴手上看到它。无论如何,OP在这里都很安静。我要去吃午饭。拜拜!拜拜!。但两个下拉列表显示的名称相同,因为模型名称相同。应该为其提供不同的名称。是的,如果每个元素需要不同的选择值,则需要一个不同的名称,但如果sa我当时是我的ans,解释了为什么相同的名称在repeat和outside中的行为不同。但是使用两个不同的控件和相同的模型名是个坏主意。@RameshRajendran这是真的,但我不知道这是在实现方面还是在理解方面:).只需使用两个警报框来显示值。你可以从我的小提琴手那里看到。无论如何,OP在这里都很安静。我要去吃午饭。再见!再见!。
 alert($scope.a.style);