@KOPC1886

Как скрыть/показать блок в зависимости от выбранного элемента списка?

Всем привет!

Подскажите, как сделать, чтобы если выбрал значение "да", то блок показывался, а если "нет", то скрывался?

Вот html

<div class="new_service auto">
                                <label for="autoAppl">Список заявок</label>
                                <select id="autoAppl" class="form-control auto_applications">
                                    <option class="auto" value="Y">Да</option>
                                    <option class="auto" value="N" selected>Нет</option>
                                </select>
                            </div>
                            <div class="new_service applications" ng-show="">
                                <label for="listApplications">Список заявок</label>
                                <select id="listApplications" class="form-control list_applications">
                                    <option class="application" value="{{app.id}}" ng-repeat="app in applications">{{app.name}}</option>
                                </select>
                            </div>


Как сделать через Jquery знаю, а как через ангуляр?

Надо чтобы блок new_service applications скрывался/показывался в зависимости от выбранного значения списка auto_applications
  • Вопрос задан
  • 3888 просмотров
Пригласить эксперта
Ответы на вопрос 2
Добавьте ngModel к селекту:
<select id="autoAppl" class="form-control auto_applications" ng-model="autoApplications">
    <option class="auto" value="Y">Да</option>
    <option class="auto" value="N" selected>Нет</option>
</select>


И для добавьте ngShow:
<div class="new_service applications" ng-show="autoApplications == 'Y'">
Ответ написан
Комментировать
AMar4enko
@AMar4enko
Не используйте ng-repeat для options внутри select, для этого есть ng-options.
$scope.yesNoOptions = [
    {value: 'Y', title: 'Да'},
    {value: 'N', title: 'Нет'}
];
$scope.applications = [
    {id: 1, title:  'Application title', ...},
    ...
];

<select id="autoAppl" class="form-control auto_applications" ng-model="autoApplication" ng-options="opt.value as opt.title for opt in yesNoOptions">
</select>
<div class="new_service applications" ng-show="autoApplication == 'Y'">
    <label for="listApplications">Список заявок</label>
    <select id="listApplications" class="form-control list_applications" ng-options="app.id as app.title for app in applications">
    </select>
</div>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы