javascript - for循环没有正确制作多个按钮
问题描述
所以我正在尝试使用 for 循环制作多个按钮,例如
const buttonSection = document.getElementById('listOfFiles');
for (let i = 0; i < arrayOfFiles.length; i++){
const questionnaireSelector = document.createElement('input');
questionnaireSelector.type = 'button';
questionnaireSelector.id = 'selectorButton' + i;
questionnaireSelector.value = arrayOfFiles[i];
buttonSection.appendChild(questionnaireSelector);
并且不是为前面在代码中填充的 arrayOfFiles 数组中的每个元素创建一个按钮,而是创建一个按钮,而只是将数组的所有内容写入该按钮的值。
有人能帮忙吗?谢谢
解决方案
我想通了,因为数组的内容已经从服务器以数组形式检索,当我将它推送到 arrayOfFiles 时,它变成了一个嵌套数组。这就是为什么它只制作一个按钮,因为它需要封装数组的 index[0]。完整代码:
"use strict";
const arrayOfFiles = [];
async function getListFromServer(){
const response = await fetch('/api/viewQuestionnaires');
const directory = await response.json();
arrayOfFiles.push(directory);
}
function displayListOfFiles(){
revealButton.remove();
const buttonSection = document.getElementById('listOfFiles');
for (let i = 0; i < arrayOfFiles.length; i++){
let questionnaireSelector = document.createElement('input');
questionnaireSelector.type = 'button';
questionnaireSelector.id = 'selectorButton' + i;
questionnaireSelector.value = arrayOfFiles[i];
buttonSection.appendChild(questionnaireSelector);
}
}
推荐阅读
- swift - 在 pod 中使用本地化
- python-3.x - Python3 MySQLdb查询不执行
- c# - 使用 AutoMapper 将业务实体映射到 Razor 页面视图模型列表
- javascript - 如何在 Riot.js 中引用输入字段值?
- python - 在 Heroku 上使用 MongoDB
- sql - 如何在 sql (oracle) 中使用 LISTAGG 和 UDT?
- java - 使用 Java FX 绘制具有 x 和 y 轴的多边形
- c# - C# 异常 - 使“源错误”成为调用方法的行
- c# - 字节数组中的图像未显示在视图中
- git - git如何解释冒号后跟路径?