У меня есть форма, которая назначает состояние по умолчанию ng-valid для элементов в выпадающем списке выбора.После долгих исследований, похоже, что-то связано с ng-repeat.
<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>
Таким образом, вы можете отправить форму с раскрывающимся списком выбора, оставаясь нетронутым и не выбранным.Однако, если вы выбираете опцию, а затем выбираете значение по умолчанию NA еще раз, поле становится недействительным, а кнопка отправки отключена.Это работает!
Поэтому я пытаюсь изменить класс всех экземпляров, для которых NA имеет значение в качестве значения ng-invalid.
vm.taskEl.map(function(element, index) {
if(element.vpo == 0) {
console.log("N/A!!!");
// class changing function goes here
}
});
Я пытаюсь получить соответствующий элемент с помощьюid, чтобы изменить класс на ng-invalid.Я считаю, что это как-то связано с индексом экземпляра.Я попытался получить индекс, используя как $ index, так и через функцию map, но безуспешно ...
Например:
document.getElementById("vpo_"+index).classList.add('invalid');