我正在尝试使用带有多个html选择字段的angularjs,并且我想将所有选定的元素存储在一个数组中。
可能代码如下:
<body ng-app="" ng-controller="myController">
{{selectedElements}}
<div ng-repeat="elem in selectedElements">
<select
ng-model="elem.someThing" <-- I do not want the someThing here
ng-options="obj.name for obj in objects">
</select>
{{elem}}
</div>
<script>
var myController = function ($scope) {
$scope.selectedElements = [{},{}]
$scope.objects = [
{"id": "1234","name": "a"},
{"id": "12345","name": "b"},
{"id": "123456","name": "b"},
{"id": "123458","name": "c"}
];
};
</script>
你也可以在这里找到一个小提琴:http://jsfiddle.net/dg76hetu/12/
问题是,我真的不想使用:
ng-model="elem.someThing"
因为我的selectedElements数组然后包含“someThing”作为键。 (见小提琴) 直觉上我想做的事情如下:
ng-model="elem"
然而,这不起作用,我也知道我不应该在没有点符号的情况下绑定到模型。
所以我的问题是,如何使用angular来存储“selectedElements”数组中多个选择字段中的所有选定对象?我觉得我错过了一些基本的东西,但是我无法让它发挥作用。
非常感谢任何帮助。
答案 0 :(得分:2)
您可以使用ng-model
将$index
与实际值相关联,然后直接将array[$index]
传递给ng-model
。