讲师中心 微信公众号
AI工具推荐 视频效率加速

动态生成问卷选项列表:使用 JavaScript 遍历任意长度的选项数组

酷明大大_6309

酷明大大_6309

发布时间:2026-02-09 09:27:48

|

486人浏览过

|

来源于php中文网

原创

动态生成问卷选项列表:使用 JavaScript 遍历任意长度的选项数组

本文教你如何用 javascript 动态渲染问卷题目及可变数量的选项,摆脱硬编码 `

  • ` 标签的限制,灵活支持 2、3、5 或任意 n 个答案选项。

    在构建网页问卷时,若每个问题的选项数量不固定(例如有的题有 2 个选项,有的有 5 个),继续沿用 first/second/third/fourth 这类解构赋值方式不仅冗余,还会导致扩展性差、易出错。正确做法是将选项视为一个数组,并通过循环动态生成 HTML 列表项。

    以下是推荐的实现方式(已修正原答案中的逻辑错误):

    // ✅ 正确示例:遍历 questions[count].options(而非 .question!)
    const options = questions[count].options; // 假设 options 是字符串数组,如 ['是', '否'] 或 ['A', 'B', 'C', 'D', 'E']
    let html = `<h2>Q${count + 1}. ${questions[count].question}</h2>
    <ul class="option_group">`;
    
    for (let option of options) {
      html += `<li class="option">${escapeHtml(option)}</li>`;
    }
    
    html += '</ul>';
    question.innerHTML = html;

    ⚠️ 注意:原答案中误写为 questions[count].question(应为 .options),这是常见笔误,请务必核对数据结构。典型问卷数据格式如下:

    const questions = [
      {
        question: "您是否满意当前服务?",
        options: ["非常满意", "满意", "一般", "不满意"]
      },
      {
        question: "请选择您的年龄段",
        options: ["18岁以下", "18–25岁", "26–35岁", "36–45岁", "46岁以上"]
      }
    ];

    ? 安全提示:为防止 XSS 攻击,建议对用户输入的选项内容做 HTML 转义(如使用 escapeHtml() 函数):

    财经HTML高端海报生成
    财经HTML高端海报生成

    复杂得财经如何变成清晰,适合手机看的海报?如何加上你的IP

    下载

    立即学习“Java免费学习笔记(深入)”;

    function escapeHtml(unsafe) {
      return unsafe
        .replace(/&/g, "&")
        .replace(/</g, "<")
        .replace(/>/g, ">")
        .replace(/"/g, """)
        .replace(/'/g, "&#039;");
    }

    ✅ 优势总结:

    • ✅ 完全适配任意长度的 options 数组;
    • ✅ 无需修改模板代码即可增减选项;
    • ✅ 易于与事件委托结合,统一处理选项点击逻辑;
    • ✅ 语义清晰,符合现代 JavaScript 编程习惯。

    从此,你的问卷系统真正具备了“一题多态”的灵活性——无论选项是 2 个还是 20 个,HTML 都能自动生成、安全可靠。

  • 热门AI工具

    更多
    豆包大模型

    豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

    切问学术

    切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

    创客贴AI

    创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

    超级简历WonderCV

    一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

    Laper
    Laper Hot

    Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

    DeepSeek

    DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

    WorkBuddy

    一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

    讯飞智作

    讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

    立刻MV
    立刻MV Hot

    立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

    相关专题

    更多
    counta和count的区别
    counta和count的区别

    Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    3488

    2023.11.20

    java多态详细介绍
    java多态详细介绍

    本专题整合了java多态相关内容,阅读专题下面的文章了解更多详细内容。

    355

    2025.11.27

    treenode的用法
    treenode的用法

    ​在计算机编程领域,TreeNode是一种常见的数据结构,通常用于构建树形结构。在不同的编程语言中,TreeNode可能有不同的实现方式和用法,通常用于表示树的节点信息。更多关于treenode相关问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

    2701

    2023.12.01

    C++ 高效算法与数据结构
    C++ 高效算法与数据结构

    本专题讲解 C++ 中常用算法与数据结构的实现与优化,涵盖排序算法(快速排序、归并排序)、查找算法、图算法、动态规划、贪心算法等,并结合实际案例分析如何选择最优算法来提高程序效率。通过深入理解数据结构(链表、树、堆、哈希表等),帮助开发者提升 在复杂应用中的算法设计与性能优化能力。

    376

    2025.12.22

    深入理解算法:高效算法与数据结构专题
    深入理解算法:高效算法与数据结构专题

    本专题专注于算法与数据结构的核心概念,适合想深入理解并提升编程能力的开发者。专题内容包括常见数据结构的实现与应用,如数组、链表、栈、队列、哈希表、树、图等;以及高效的排序算法、搜索算法、动态规划等经典算法。通过详细的讲解与复杂度分析,帮助开发者不仅能熟练运用这些基础知识,还能在实际编程中优化性能,提高代码的执行效率。本专题适合准备面试的开发者,也适合希望提高算法思维的编程爱好者。

    417

    2026.01.06

    C++ 数据结构与算法实现教程合集
    C++ 数据结构与算法实现教程合集

    以 C++ 为实现语言,系统讲解核心数据结构与算法,涵盖链表(单链表/双链表/环检测)、栈与队列(单调栈/优先队列)、二叉树(遍历/BST/AVL/红黑树)、哈希表(开地址法/链地址法)、图(邻接表/BFS/DFS/Dijkstra/拓扑排序)、常见排序算法(快排/归并/堆排/计数排序)的实现与复杂度分析,同时分享 LeetCode 刷题技巧、竞赛编程常用模板(二分/前缀和/滑动窗口/动态规划),帮助开发者夯实算法基础。

    472

    2026.05.09

    Vite 项目如何打包和部署
    Vite 项目如何打包和部署

    Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

    60

    2026.10.28

    Vite 如何搭配 Vue.js
    Vite 如何搭配 Vue.js

    Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

    20

    2026.10.28

    Vite 项目目录怎么看
    Vite 项目目录怎么看

    Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

    40

    2026.10.28

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    WebStorm 官方调试文档
    WebStorm 官方调试文档

    共0课时 | 0人学习

    React 教程
    React 教程

    共58课时 | 12.4万人学习

    TypeScript 教程
    TypeScript 教程

    共19课时 | 6.7万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn