Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.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使用select重复多行表格_Javascript_Angularjs - Fatal编程技术网

Javascript 角度ng使用select重复多行表格

Javascript 角度ng使用select重复多行表格,javascript,angularjs,Javascript,Angularjs,所以我有一个表,每行都有选择框。问题是,当我在一个选择框中进行更改时,所有选择框都会显示相同的值。我需要的是解除所有选择框的绑定,以便能够在每个框上进行不同的选择 代码如下: <tr ng-repeat="item in userMappings.items" ng-model="item.mapped"> <td class="col-md-3" ng-model="mappingType.name"> {{item.idsport}}, Game Type

所以我有一个表,每行都有选择框。问题是,当我在一个选择框中进行更改时,所有选择框都会显示相同的值。我需要的是解除所有选择框的绑定,以便能够在每个框上进行不同的选择

代码如下:

<tr ng-repeat="item in userMappings.items" ng-model="item.mapped">
  <td class="col-md-3" ng-model="mappingType.name">
    {{item.idsport}}, Game Type {{item.idgametype}}, {{item.name}} (Current limit {{item.value}})
  </td>                   
   <td class="col-md-3 mapType" style="padding-bottom: 25px; padding-left: 15px" >
    <h4>Mapping Type: <span style="font-size:0.8em">{{selectedType}}</span> </h4> <br />
    <select ng-model="mappingType.name" ng-change="which($index); selectedRow()" ng-options="item.name for item in mappingType"></select>
  </td>
</tr>

{{item.idsport},游戏类型{{item.idgametype},{{{item.name}(当前限制{{item.value})
映射类型:{{selectedType}}

当您使用
ng model
绑定到
mappingTypes.name
时,它将修改控制器作用域上的属性,因为它是在那里定义的
mappingTypes
不是
ng repeat
作用域的一部分,因此它会遍历作用域继承链并在那里进行更新。因此,当您选择一个项目时,
mappingTypes
现在是一个带有
name
属性的数组。您的所有项都绑定到同一数组,因此它们都具有相同的值


如果只想更改
ng repeat
中的特定项,则应使用类似
item.mapping的内容。如果您修改的不是
item
,而是整个控制器的作用域。

这里并不清楚您的数据是如何构造的,这是回答这个问题的非常重要的信息。$scope.mappingType=[{name:“Sport”},{name:“League”},{name:“No Mapping”}];然后我有一张大约1000个物体的桌子。如果我选择一个选项,所有其他选项都会更新,显示相同的值…嗨,斯科特,我必须在哪里使用item.mapping?对于您的
,您可以使用
ng model=“item.mapping”
,这意味着当您从下拉列表中选择某个选项时,它现在会设置在项目上,而不是控制器范围上。是的,它按预期工作。但是现在我想知道,如何在不使用ng模型的情况下检索所选选项的“name”属性?