我根据文档创建了一个bootstrap模式弹出窗口。在该弹出窗口中,我希望有一个简单的选择表单,用户可以在其中选择一个值。
摘录:
<ng-form>
<label for="hours">Hours</label>
<select class="form-control" name="hours" ng-model="hours" ng-options="n for n in [1,max_hours] | makeRange" ng-value="n"></select>
</ng-form>
@{{ hours }}
当我在下拉值中选择一个新值时,它下面显示的小时数会更新。但是,当我去控制器中获取值时,它没有改变。我是棱角分明的,所以不太清楚为什么会这样。
var ModalInstanceCtrl = function ($scope, $modalInstance, time, date, max_hours) {
$scope.time = time;
$scope.date = date;
$scope.max_hours = max_hours;
$scope.hours = 1;
$scope.ok = function () {
alert($scope.hours);
$modalInstance.close({"date" : $scope.date, "time" : $scope.time, "hour" : $scope.hours});
};
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
};
};
无论下拉列表中显示的值和模板中显示的值如何,警报中的值始终显示为1(初始值)。它正在从控制器开始正确获取值,就好像我将初始小时值更改为2,然后初始选定值将为2.