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

Sco*_* UX 1 select option angularjs

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

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

我的问题是,如何获得当前选择的选项及其数据值?我尝试了scope.settings.metric但是所有给我的是"2".我喜欢获取所选的其他属性,例如namedatavalue.

$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>
Run Code Online (Sandbox Code Playgroud)

Zac*_*yle 5

这已经非常简单了.你必须写这个.

ng-options="p as p.name for p in metrics"
Run Code Online (Sandbox Code Playgroud)

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

希望有助于brotha.