2014-12-17 4 views
3

У меня есть выпадающий список для выбора отчета для генерации, поэтому, когда пользователь выбирает отчет из раскрывающегося списка, он генерирует его и загружает его для мобильного телефона. Используя ng-change, он будет только подниматься, когда пользователь хочет генерировать разные отчеты. Мне бы это понравилось, чтобы они могли дважды выбрать один и тот же выпадающий элемент и загрузить его дважды.AngularJS - fire ng-change при каждом выпадающем выборе

У меня есть код, подобный этому:

Markup:

<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); 
    } 
}); 

Fiddle: http://jsfiddle.net/KyleMuir/cf59ypyw/

Что я ожидаю, чтобы выбрать «два "дважды, и пусть он запишет r дважды на консоль. Является ли это выполнимым или я должен использовать для этого другую директиву?

+0

@SoluableNonagon Существует JSFiddle, демонстрирующий вопрос? –

+0

Думаю, я пропустил это. – SoluableNonagon

+0

Не проблема :) –

ответ

1

Добавление кнопки, безусловно, поможет, но и уводит от каких-либо дополнительных программ, это только один дополнительный элемент:

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> 

Update.

Сброс формы, кажется, единственный вариант.

http://jsfiddle.net/ootnh0sz/3/

$scope.logResult = function() { 
    console.log($scope.currentlySelected); 

    // once downloaded 
    $scope.currentlySelected = null; 
} 
+0

К сожалению, клиент не хочет, чтобы кнопка была такой, какой я изначально работал. Спасибо за предложение. –

+0

@KyleMuir кажется, что вы остались только с сбросом выбора. – SoluableNonagon

+1

Мы закончили с возможностью перезагрузки. Благодаря! –

Смежные вопросы