我的选择列表数据是这样的
{
123: 'abc',
234: 'bcd',
.
.
}
我在模板中使用 ng-options 来渲染它
<select ng-model="myOption" ng-option="key as value for (key, value) in data"></select>
现在我想在 js Controller 中获取所选选项的选项文本
这可能吗?
PS-我无法更改选择列表数据的数据结构, 所以使它成为如下所示的对象的对象是不可能的
{
{
name: 'abc',
value: 123
},
{
name: 'bcd',
value: 234
}
}
编辑:我仍然希望能够访问选定的 key ,即 123 或 234
最佳答案
你可以使用ng-change
实现一个按键获取值的函数
<div>
<select ng-model="myOption" ng-options="key as value for (key, value) in data" ng-change="getVal(myOption)"></select>
{{selectVal}}
</div>
$scope.getVal = function(val){
$scope.selectVal = $scope.data[val]
}
不是它的 ng-options
和 s
演示
angular.module("app",[])
.controller("ctrl",function($scope){
$scope.data = {
123: 'abc',
234: 'bcd',
}
$scope.getVal = function(val){
$scope.selectVal = $scope.data[val]
}
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
<select ng-model="myOption" ng-options="key as value for (key, value) in data" ng-change="getVal(myOption)"></select>
{{selectVal}}
</div>
关于javascript - 在选择列表angular js中获取所选选项的选项文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43111823/