2014-01-18 104 views
1

从Angular开始,使用select下拉菜单真的让我感到困惑。基本上我使用AJAX调用获取JSON对象,然后使用AngularJS使用JSON填充表单。AngularJS - 在下拉菜单中获取所选选项的属性

对于下拉列表中,settings.metric = '2' 从数据库。所以选择的是“厘米”。

我的问题是,如何获取当前选定的选项及其datavalue?我试过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> 

回答

5

这很简单,你已经有了。你必须写这个。

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

第一参数“p”为将要存储 第二参数“p.name”是在选项中显示的值的值。

希望能帮助brotha。

+0

嗨,谢谢你的回答。但我想知道如何在另一个javascript函数中从外部访问当前选定的属性...任何想法?如果你这样说,你有scope.settings.metric –

+0

检查'NG-model' –

+0

@ ScottYu-UXdesigner的价值。我试图做scope.settings.metric但所有我得到的是“2”...我终于必须做scope.metrics [parseFloat(scope.settings.metric-1)]。datavalue; –

相关问题