Я использую тег 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>
Это может (и должно) быть обработано в вашем контроллере, и вы можете сделать это легко, наблюдая переменную, которая меняется. В этом случае эти genres
, так что вы можете сделать что-то вроде:
$scope.$watch('genres', function(newValue, oldValue) {
$scope.events = undefined;
clearDetails();
...
});
И вы можете сделать это еще более конкретным, используя newValue
и oldValue
для запуска определенных методов в определенных случаях, если вы этого желаете.
@OZ_ дал мне правильный ответ в разделе комментариев. ng-click
был тем, что мне нужно.