You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于复选框选中状态动态生成列表并填充多行文本框

实现复选框勾选动态填充多行文本框方案

核心实现代码

HTML 结构

先搭建基础的复选组和多行文本框:

<div class="checkbox-group">
  <label><input type="checkbox" value="选项A"> 选项A</label>
  <label><input type="checkbox" value="选项B"> 选项B</label>
  <label><input type="checkbox" value="选项C"> 选项C</label>
  <label><input type="checkbox" value="选项D"> 选项D</label>
</div>

<textarea id="resultTextarea" rows="5" placeholder="已选内容将显示在这里"></textarea>

JavaScript 逻辑

监听复选框的状态变化,实时更新文本框内容:

// 获取所有复选框和目标文本框
const checkboxes = document.querySelectorAll('.checkbox-group input[type="checkbox"]');
const textarea = document.getElementById('resultTextarea');

// 定义更新文本框的函数
function updateTextarea() {
  // 收集所有被勾选的复选框的值
  const selectedValues = Array.from(checkboxes)
    .filter(checkbox => checkbox.checked)
    .map(checkbox => checkbox.value);
  
  // 将值按换行分隔,填充到文本框
  textarea.value = selectedValues.join('\n');
}

// 给每个复选框绑定变化事件
checkboxes.forEach(checkbox => {
  checkbox.addEventListener('change', updateTextarea);
});

可选样式优化(贴近参考界面)

添加简单CSS让布局更美观:

.checkbox-group {
  margin-bottom: 15px;
}
.checkbox-group label {
  display: block;
  margin: 8px 0;
  cursor: pointer;
}
#resultTextarea {
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 4px;
}

逻辑说明

  • 每次复选框勾选/取消时,触发change事件调用更新函数
  • 通过filter筛选出已勾选的复选框,map提取对应的值
  • 用join('\n')将选中值按换行拼接,直接赋值给文本框的value属性,实现动态填充

内容的提问来源于stack exchange,提问作者Sven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 03:01:23