javascript - 如何在 JavaScript/Node.js 中获取选中复选框的所有值
问题描述
我有一组类似于此的 html 形式的复选框
<form action = "/submit" method = "POST">
<div class="checkbox checkbox-inline checkbox-danger checkbox-md">
<input type="checkbox" class="styled" id="val1" name="value[]" value="Apple">
<label for="val1"> Apple </label>
</div>
<br>
<div class="checkbox checkbox-inline checkbox-danger checkbox-md">
<input type="checkbox" class="styled" id="val2" name="value[]" value="Banana">
<label for="val2"> Banana </label>
</div>
<br>
<div class="checkbox checkbox-inline checkbox-danger checkbox-md">
<input type="checkbox" class="styled" id="val3" name="value[]" value="Pear">
<label for="val3"> Pear </label>
</div>
<br>
<div class="checkbox checkbox-inline checkbox-danger checkbox-md">
<input type="checkbox" class="styled" id="val4" name="value[]" value="Grinadella">
<label for="val4"> Grinadella </label>
</div>
</form>
表单内容存储在数据库中。存储有效,但是我只能获取第一个复选框的值并将其存储在数据库中。我想要做的是,如果用户选择前三个复选框,我想将值存储在Apple, Banana, Pear
用逗号分隔的数据库中。
我怎样才能做到这一点。我知道在 PHP 中有一个名为的函数implode
可以执行此操作,但是我如何扩展表单以便JS/Node.js
提前获得选中复选框的所有值
解决方案
var checkedBoxes = [...document.querySelectorAll('.styled:checked')]
var values = checkedBoxes.map(c => c.value).join(', ')
console.log(values)
<div class="checkbox checkbox-inline checkbox-danger checkbox-md">
<input type="checkbox" class="styled" id="val1" name="value[]" value="Apple" checked>
<label for="val1"> Apple </label>
</div>
<br>
<div class="checkbox checkbox-inline checkbox-danger checkbox-md">
<input type="checkbox" class="styled" id="val2" name="value[]" value="Banana" checked>
<label for="val2"> Banana </label>
</div>
<br>
<div class="checkbox checkbox-inline checkbox-danger checkbox-md">
<input type="checkbox" class="styled" id="val3" name="value[]" value="Pear" checked>
<label for="val3"> Pear </label>
</div>
<br>
<div class="checkbox checkbox-inline checkbox-danger checkbox-md">
<input type="checkbox" class="styled" id="val4" name="value[]" value="Grinadella">
<label for="val4"> Grinadella </label>
</div>
推荐阅读
- django - 搜索功能什么都不返回 - Django
- swift - Xcode 10 中的离子发布
- php - FPDF 多单元格相同高度
- ruby-on-rails - en.yml 中的新行不会在 html 页面上呈现
- ruby-on-rails - Ruby on rails 更新用户角色
- c - 使用指针改变矩阵
- jenkins - 在没有安全性的情况下安装 Jenkins 或访问 localhost 以外的其他权限
- mysql - MySQL MVCC 用于构建先前快照的高级算法
- javascript - 为什么这个 javascript 函数返回 undefined ?
- sql - 在物化视图中使用 union 或 union all 导致 PostgreSQL 错误