Angularjs - ng-invalid неправильно работает с элементом select внутри таблицы ng-repeat - PullRequest
0 голосов
/ 01 июня 2018
<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, несмотря на то, что ни один вариант из списка селекторов не выбран.В результате ng-required не отключает кнопку отправки.

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

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

...