Как я могу получить элемент html? - PullRequest
0 голосов
/ 26 февраля 2020

Я использую databind: foreach в элементе выбора html и хочу получить дочерний элемент, созданный foreach. Как этого добиться?

<select id="ClassNameEdit" class=" form-control">         
   <!-- ko foreach: ClassData -->
   <option id="test1" data-bind="text:ClassName,value:ClassId"></option>
   <!-- /ko -->
</select>

let a= document.getElementById('ClassNameEdit').children;

console.log(a.item(0)

Это дает мне ноль

1 Ответ

0 голосов
/ 26 февраля 2020

Применить foreach к элементу select. Кроме того, id's уникальны, вместо того, чтобы назначать stati c id опции (которая создаст дублирующиеся идентификаторы), присваивать атрибут classId to id или генерировать случайное число.

ko.applyBindings({
  people: [{
      firstName: 'Bert',
      id: '01'
    },
    {
      firstName: 'Charles',
      id: '02'
    },
    {
      firstName: 'Denise',
      id: '03'
    }
  ]
});

const options = document.getElementById('ClassNameEdit').children;
console.log(options[0]);
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<select id="ClassNameEdit" class=" form-control" data-bind="foreach: people">
  <option data-bind="text:firstName,value:id"></option>
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...