2014-06-30 30 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

编辑问题 –