繁体   English   中英

获取角度ng-option中的选定值

[英]get selected value in angular ng-option

我有一个像下面这样的物体:

var data = {
    BCS: ['a', 'b', 'c', 'd'],
    HND: ['e', 'f', 'g', 'h'],
    LMU: ['i', 'j', 'l', 'm']
};

贝娄是我的控制者

function getDivision($scope) {
    $scope.divisions = data;
}

这是模型

<div ng-app>
    <div ng-controller='getDivision'>
        <select ng-model="key" ng-options="key for (key , val) in divisions" ng-change="update()"></select>
        <select ng-model="divisionValues" ng-options="value for value in key"></select>
    </div>
</div>

这是JsFiddle

如何获得第一个选定的值并将其解析到控制器?

您的表达式应如下所示:

<select ng-model="key"ng-options="key as key for (key, val) in divisions"
ng-change="update()"></select>

<select ng-model="divisionValues"
ng-options="value for value in divisions[key]"></select>

这种组合将使您的用户可以从data键中进行选择,一旦select ,第二个select框将在关联的值数组中包含与他们关联的四个字母。

表达式一开始很难理解,但如果您几次阅读文档并进行实验,它们将很有意义。

工作小提琴

您必须将密钥传递给更新方法,例如ng-change="update(key)"

工作演示

HTML

<div ng-app>
    <div ng-controller='getDivision'>
        <select ng-model="key" ng-options="key as key for (key, val) in divisions" ng-change="update(key)"></select>
        <select ng-model="divisionValues" ng-options="value for value in divisions[key]"></select>
    </div>
</div>

脚本

var data = {
    BCS: ['a', 'b', 'c', 'd'],
    HND: ['e', 'f', 'g', 'h'],
    LMU: ['i', 'j', 'l', 'm']
};

function getDivision($scope) {
    $scope.divisions = data;
    $scope.update = function (a) {
        console.log(a);
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM