angularjs ng-недопустимый элемент ng-repeat - PullRequest
0 голосов
/ 05 июня 2018

У меня есть форма, которая назначает состояние по умолчанию 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');
...