2014-01-18 98 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; –

相關問題