如何从一些选择项作为参数中选择的视图中调用函数?

时间:2014-10-13 13:56:43

标签: javascript angularjs angularjs-ng-repeat

我如何才能实现这一目标?:

<select>
 <option ng-repeat="item in items" value="item">{{item.name}}</option>
</select>
<a ng-click="foo(item)">Action</a>

Foo以角度控制器的方式声明:

$scope.foo = function(item) {
 console.log(item);
}

我理解,item在元素<option>范围内定义。但我需要将当前选定的项目发送到foo foonction。我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

请勿使用ng-repeat,而是使用ng-options

<select ng-model="selectedItem" ng-options="item as item.name for item in items" >
</select>

然后,你应该可以使用它:

<a ng-click="foo(selectedItem)">Action</a>

这是有效的,因为ng-model$scope.selectedItem设置为下拉列表中当前选定的项目。

jsFiddle demo