Im пытается перебрать массив, чтобы создать теги формы, в зависимости от того, сколько значений есть в массиве. Пока у меня есть метки и теги ввода, которые создаются. Проблема, с которой я сталкиваюсь, корректно отображает входные теги после ярлыков. Любая помощь приветствуется!Loop над массивом и создавать теги ввода формы после меток
Я пытаюсь добиться:
<label class="material-label" for="leather_materials">
<input id="leather_materials" class="shoe-materials" type="radio" name="materials" value="leather">
<label class="material-label" for="suade_materials">
<input id="suade_materials" class="shoe-materials" type="radio" name="materials" value="suade">
<label class="material-label" for="nubuck_materials">
<input id="nubuck_materials" class="shoe-materials" type="radio" name="materials" value="nubuck">
мой код до сих пор:
materialArray = ['leather','suade','nubuck'];
//loop over material array
for(i = 0; i < materialArray.length; i++) {
//create label elements
var matLabel = document.createElement('label');
matLabel.setAttribute('for', materialArray[i] + '_materials');
matLabel.setAttribute('class', 'material-label');
console.log(matLabel);
//add text to label elements
var matLabelTextNode = document.createTextNode(materialArray[i]);
matLabel.appendChild(matLabelTextNode);
//create input elements
var matInput = document.createElement('input');
matInput.className = 'shoe-materials';
matInput.setAttribute('class', 'shoe-materials');
matInput.setAttribute('id', materialArray[i] +'_materials');
matInput.setAttribute('name', 'materials');
matInput.setAttribute('type', 'radio');
matInput.setAttribute('value', materialArray[i]);
console.log(matInput);
//append to parent div
addMaterials.appendChild(matLabel);
$('.material-label').after(matInput);
}
Я попытался с помощью JQuery после(), но он пошел немного перепутались и получил следующий
<label class="material-label" for="leather_materials">leather</label>
<input id="nubuck_materials" class="shoe-materials" type="radio" name="materials" value="nubuck">
<input id="suade_materials" class="shoe-materials" type="radio" name="materials" value="suade">
<input id="leather_materials" class="shoe-materials" type="radio" name="materials" value="leather">
<label class="material-label" for="suade_materials">suade</label>
<input id="nubuck_materials" class="shoe-materials" type="radio" name="materials" value="nubuck">
<input id="suade_materials" class="shoe-materials" type="radio" name="materials" value="suade">
<label class="material-label" for="nubuck_materials">nubuck</label>
<input id="nubuck_materials" class="shoe-materials" type="radio" name="materials" value="nubuck">
Я не могу поверить, что это так просто! Я вытаскиваю волосы. большое спасибо – Matta301