AngularJS - 在下拉列表中获取所选选项的属性

时间:2014-01-18 02:11:43

标签: angularjs select option

开始使用Angular并使用选择下拉列表真的让我感到困惑。基本上我使用AJAX调用获取JSON对象,然后使用AngularJS使用JSON填充我的表单。

对于下拉列表,来自数据库的settings.metric ='2'。所以选中的是“cm”。

我的问题是,如何获取当前选择的选项及其数据值?我尝试了scope.settings.metric但是所有给我的是“2”。我想获得所选的其他属性,例如名称数据值

$scope.metrics = [
            {id:1,name:'in',value:'1',datavalue:'in'},
            {id:2,name:'cm',value:'2',datavalue:'cm'},
            {id:3,name:'px',value:'3',datavalue:'px'},
            {id:4,name:'pt',value:'4',datavalue:'pt'}
            ];

<select 
    ng-model="settings.metric" // this is 2 from database call
    ng-options="p.value as p.name for p in metrics" >
</select>

1 个答案:

答案 0 :(得分:5)

这与您已有的相当简单。你必须写这个。

ng-options="p as p.name for p in metrics"

第一个参数'p'是将要存储的值 第二个参数'p.name'是选项中显示的值。

希望有助于brotha。