AngularJS目前选择的模型

时间:2014-06-30 14:46:38

标签: javascript 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>

我需要将EncryptedValue传递给GetOptions(),例如GetOptions(EncryptedValue)),或者能够访问类似SelectedStyle.EncryptedValue

的内容

我该怎么做?


更新

将我的代码更改为:

<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 个答案:

答案 0 :(得分: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