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

未勾选的复选框为何未被$("#frm").serializeJSON()纳入生成的JS对象?

问题解答

这是serializeJSON库的默认行为,它沿用了HTML表单原生序列化的规则——原生serialize()方法只会提交被勾选的复选框,这个库继承了这个逻辑,所以未勾选的复选框不会出现在生成的JS对象里。

解决办法有两种:

  • 给复选框搭配一个同名的隐藏输入框,设置默认值(比如false),把隐藏框放在复选框前面。这样复选框未勾选时,隐藏框的值会被纳入结果;勾选时,复选框的值会覆盖隐藏框的内容。示例代码:
<input type="hidden" name="terms" value="false">
<input type="checkbox" name="terms" value="true"> 同意条款
  • 检查该库的配置选项,部分版本支持通过参数指定未勾选复选框的默认值,比如设置checkboxUncheckedValue参数,调用示例:
$("#frm").serializeJSON({checkboxUncheckedValue: false});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 03:24:52