我有一个下拉列表,用于选择要生成的报告,因此当用户从下拉菜单中选择报告时,它会生成并报告移动设备.使用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/
我期望两次选择“两个”并将结果记录到控制台两次.这是可行的还是我应该使用不同的指令呢?
最佳答案 添加按钮肯定会有所帮助,它也会带走任何额外的编程,它只是一个额外的元素:
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;
}