<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 不会禁用提交按钮。
但是,当您选择一个选项然后单击返回到 NA(占位符选项)时,该元素将变为 .ng-invalid 并且根据需要禁用提交表单。有用!
我知道这与 ng-repeat 有关,并且已尝试通过将表格行包装成此处各种帖子所建议的形式来解决该问题。