2014-06-30 144 views
0

每天瞭解有關AngularJS的更多信息。AngularJS當前選擇模型

一個style包含style.StyleIDstyle.StyleNamestyle.EncryptedValue

我有以下代碼:

<select data-ng-model="StyleID" 
    data-ng-options="s.StyleID as s.StyleName for s in styles" 
    data-ng-change="GetOptions()"> 
    <option value="">--Select Style--</option> 
</select> 

我需要通過EncryptedValueGetOptions()如(GetOptions(EncryptedValue))或者能夠訪問像SelectedStyle.EncryptedValue

我該如何去做呢?


UPDATE

改變了我的代碼:

<select data-ng-model="style" 
    data-ng-options="s.StyleID as s.StyleName for s in styles" 
    data-ng-change="GetOptions()"> 
    <option value="">--Select Style--</option> 
</select> 

我的控制器:

$scope.GetOptions = function() 
{ 
    alert($scope.style); 
} 

alert($scope.style);返回StyleID的字符串

alert($scope.style.StyleID);返回undefined

這是怎麼回事?

注意:styles通過AJAX調用(JSON結果)加載。

回答

1

您可能需要返工你如何處理在您的控制器的東西,但你可以在你的模型改成這樣:

<select data-ng-model="selectedStyle" 
    data-ng-options="s as s.StyleName for s in styles" 
    data-ng-change="GetOptions()"> 
    <option value="">--Select Style--</option> 
</select> 

然後在你的控制器,你可以做到這一點

$scope.GetOptions = function(){ 
    console.log($scope.selectedStyle.EncryptedValue) 
}; 

唯一現在,如果你想引用你的StyleId,你必須這樣做:

$scope.selectedStyle.StyleId 
+0

'console.log($ scope.selected樣式);'返回一個值 - 不是一個對象。這是爲什麼? –

+0

你將不得不粘貼更多的代碼。 –

+0

編輯問題 –