Angularjs - ng-invalid некорректно работает с выбранным элементом внутри таблицы ng-repeat

<td level = "{{taskCtrl.level}}" check-permissions = "noCommercial" ng-if = "tEl.id_subtype==1 || tEl.id_subtype==2 || tEl.id_subtype==9 || tEl.id_subtype==10"> 
                    <select id = "vpo_{{$index}}" name = "vpo_{{$index}}" class = "form-control np fs-small" 
                    ng-options = "item.id as item.es for item in mainCtrl.vpo"
                    ng-model = "tEl.vpo"
                    ng-required = "true"
                    ng-change = "taskCtrl.toggleVpo(tEl);">
                    <option value = "">N.A.</option>
                    </select>
                </td>

Состояние по умолчанию для td выше - ng-valid, несмотря на то, что в списке селекторов не выбрано ни одной опции. В результате ng-required не отключает кнопку отправки.

Однако, когда вы выбираете параметр и затем щелкаете обратно в N.A. (параметр заполнителя), элемент становится недействительным .ng и форма отправки отключается по желанию. Оно работает!

Я знаю, что это как-то связано с ng-repeat, и я предпринял различные попытки решить эту проблему, заключив строку таблицы в форму, как это предлагается в различных сообщениях здесь.

Учитывая только предоставленные сведения, проверка работает должным образом: plnkr.co/edit/NXdF8IHqvPGJ0upOmJuC?p=preview Попробуйте сократить свое приложение до минимума, чтобы можно было воспроизвести проблему.

Capricorn 01.06.2018 11:44

Проблема с ng-repeat ...

jamesbcn 01.06.2018 12:06

@jamesbcn Ну, покажи код с ng-repeat, тогда ...

PhiLho 01.06.2018 12:51
Знаете ли вы, что директивы являются одной из самых мощных и универсальных функций Angular?
Знаете ли вы, что директивы являются одной из самых мощных и универсальных функций Angular?
Директивы позволяют расширять HTML новыми элементами и атрибутами и даже создавать собственные структурные директивы для манипулирования DOM. С...
Разница между Angular и React
Разница между Angular и React
React и AngularJS - это два самых популярных фреймворка для веб-разработки. Оба фреймворка имеют свои уникальные особенности и преимущества, которые...
0
3
45
0

Другие вопросы по теме