我有一个下拉列表,用于选择要生成的报告,因此当用户从下拉列表中选择报告时,它会生成并报告移动设备。使用ng-change,它只会在用户想要生成不同的报告时获取。我喜欢它,所以他们可以选择相同的下拉项目两次并让它下载报告两次。
我的代码类似于:
标记:
<div>
<select ng-model="currentlySelected"
ng-options="opt as opt.label for opt in options"
ng-change="logResult()">
</select>
The value selected is {{ currentlySelected.value }}.
</div>
使用Javascript:
angular.module('demoApp', []).controller('DemoController', function($scope) {
$scope.options = [
{ label: 'one', value: 1 },
{ label: 'two', value: 2 }
];
$scope.currentlySelected = $scope.options[1];
$scope.logResult = function() {
console.log($scope.currentlySelected);
}
});
小提琴:http://jsfiddle.net/KyleMuir/cf59ypyw/
我期望两次选择“两个”并将结果记录到控制台两次。这是可行的还是我应该为此使用不同的指令?
答案 0 :(得分:2)
添加一个按钮肯定会有所帮助,它也会带走任何额外的编程,它只是一个额外的元素:
http://jsfiddle.net/ootnh0sz/1/
<select ng-model="currentlySelected" ng-options="opt as opt.label for opt in options" ng-change="logResult()"></select>
<button ng-click="logResult()"> Go </button>
更新。
重置表单似乎是剩下的唯一选择。
http://jsfiddle.net/ootnh0sz/3/
$scope.logResult = function() {
console.log($scope.currentlySelected);
// once downloaded
$scope.currentlySelected = null;
}