Угловое событие JS вызывается всякий раз, когда что-то выбрано?

0

Я использую тег select на веб-странице. Я контролирую его с помощью Angular JS. Я хочу, чтобы функция запускалась всякий раз, когда выбрано значение. Я знаю о событии ng-change, но это работает только для изменения стоимости. Что я могу сделать?

<select class="form-control"
         ng-model="types" 
         ng-options="x.id as x.name for x in records" 
         ng-change="genres=undefined; events=undefined; clearDetails()" > 
</select>

<select class="form-control" 
        ng-change="events=undefined; clearDetails()" 
        ng-model="genres" 
        ng-options="x.id as x.name for x in records[types-1]['genre']" 
        ng-change="currentgenre=records[types-1]['genre'][genre-1][intro]" >
</select>

<select class="form-control" 
        ng-change="clearDetails(); loadEventData()" 
        ng-model="events" 
        ng-options="x.event_id as x.name for x in records[types-1]['genre'][genres-1]['details']" >
</select>
  • 0
    Хорошая история, но где код? пожалуйста, опубликуйте проблемную часть и лучше попробуйте воспроизвести в какой-нибудь Fiddle, Punker
  • 0
    вот и ты ...
Показать ещё 6 комментариев
Теги:

2 ответа

0
Лучший ответ

Это может (и должно) быть обработано в вашем контроллере, и вы можете сделать это легко, наблюдая переменную, которая меняется. В этом случае эти genres, так что вы можете сделать что-то вроде:

$scope.$watch('genres', function(newValue, oldValue) {
    $scope.events = undefined;
    clearDetails();
    ...
});

И вы можете сделать это еще более конкретным, используя newValue и oldValue для запуска определенных методов в определенных случаях, если вы этого желаете.

0

@OZ_ дал мне правильный ответ в разделе комментариев. ng-click был тем, что мне нужно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню