我有一个包含2个属性的对象列表:标签和描述。在html上我循环在这个列表中:
<select class="form-control"
ng-options="fid.label for fid in myFidList"
ng-model="fidSelected"
ng-change="setFidDescription()"/>
我要做的是调用一个函数(setFidDescription)来获取我在选项标签上选择的对象。所以我可以在另一个div中改变相应的desciption。这似乎不起作用:ng-model似乎没有更新。功能:
$scope.setFidDescription = function () {
console.log($scope.fidSelected);
}
此代码打印一个空对象。 我错过了什么?另一种方法是获得我选择的$ index。
更新: 我发现了我的问题。请看这里的解释:
AngularJS ngModel doesn't work inside a ui-bootstrap tabset
这是我的问题。
答案 0 :(得分:1)
// Code goes here
angular
.module('myApp', [])
.controller('testController', ['$scope',
function($scope) {
$scope.myFidList = [{
label: 'label1',
}, {
label: 'label2',
}]
$scope.setFidDescription = function() {
alert($scope.fidSelected.label);
}
}
])
&#13;
<!DOCTYPE html>
<html data-ng-app="myApp">
<head>
<link rel="stylesheet" href="style.css">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
<script src="script.js"></script>
</head>
<body data-ng-controller="testController">
<select class="form-control" ng-options="fid.label for fid in myFidList" ng-model="fidSelected" ng-change="setFidDescription()"></select>
</body>
</html>
&#13;
希望这会对你有所帮助。