如何用JavaScript实现支持可变选项数量的网页问卷?
解决方案:通过数组遍历动态生成选项
你可以直接利用数组的map()方法遍历选项列表,动态生成对应数量的<li>元素,完全不需要固定解构或硬编码选项数量:
- 先获取当前问题的完整数据,避免重复访问
questions[count] - 遍历选项数组生成HTML字符串
- 把动态生成的选项插入到页面结构中
具体代码如下:
// 替换原来的解构赋值,直接获取当前问题 const currentQuestion = questions[count]; // 遍历选项,生成每个选项对应的li标签,再拼接成完整字符串 const optionsHtml = currentQuestion.options.map(option => { return `<li class="option">${option}</li>`; }).join(''); // 渲染完整的问题和选项 question.innerHTML = `<h2>Q${count + 1}. ${currentQuestion.question}</h2> <ul class="option_group"> ${optionsHtml} </ul>`;
额外优化:处理无选项的情况
如果存在某个问题没有选项的场景,可以加个简单判断避免空列表:
const optionsHtml = currentQuestion.options.length > 0 ? currentQuestion.options.map(option => `<li class="option">${option}</li>`).join('') : '<li class="option">暂无选项</li>';
这样不管每个问题的选项是2个、3个还是5个,都会自动渲染对应数量的选项,完全适配可变需求。
内容的提问来源于stack exchange,提问作者Alexandros Venetis
相关产品推荐
相关产品推荐

