AngularJS: вызов функции после того, как пользователь делает выбор в выпадающем списке

#javascript #html #angularjs #switch-statement #readfile

#javascript #HTML #angularjs #оператор переключения #readfile

Вопрос:

итак, у меня есть выпадающий список и добавлены некоторые значения, как показано ниже. Я хочу, чтобы программа выполняла действия на основе выбранных параметров из выпадающего списка.

 angular.module('priceCalculator', [])
.controller("mainCtrl", ['$scope', function($scope) {
$scope.data = {
  availableOptions: [
    {id: 0, name: 'Please Select'},
    {id: 1, name: 'PVC Red Extra'},
    {id: 2, name: 'Alu Standard'},
    {id: 3, name: 'SKS Classic Decor'},
    {id: 4, name: 'SKS Aluminiu Alb'}
  ],

  selectedOption: {id: 0, name: 'Please Select'}
};
}]);
  

Я думал, что мог бы сделать это с помощью инструкции switch

 $scope.doStuff = function() {
  switch(id from availableOptions) {
    case 0: 
    // do stuff, I want to read file based on inputs I shall also get from user
    break;
    default:
    // do stuff
  };
};
  

Как мне нужно это сделать? Извините, если это легко для всех, я действительно новичок в кодировании

Вот раздел html

   <label>Select Shutter Type</label>
  <!-- Use ngOption to select shutter type -->
  <select ng-options="option.name for option in data.availableOptions track by option.id" ng-model="data.selectedOption">
  </select>
  

Комментарии:

1. Да, вы можете это сделать, в чем проблема сейчас?

Ответ №1:

Если я правильно понимаю, вы хотели бы, чтобы ваша doStuff функция вызывалась при изменении выбора. Для этого можно использовать ng-change :

 <select 
  ng-options="option.name for option in data.availableOptions track by option.id" 
  ng-model="data.selectedOption"
  ng-change="doStuff(option)">
  

Затем вы можете объявить doStuff следующим образом:

 $scope.doStuff = function(selectedOption) {