我有一组复选框,当它们被选中时,它们将值传递为 1,否则它们将值传递为 0。但是,不是将未选中复选框的值发送为“0”,而是发送的值为“NULL”。
我有以下 JS 代码,应该相应地将值设置为 0/1,但是该值仍然作为 NULL 发送。有什么办法可以确保在未选中复选框的情况下传递的值为 0?
$('#cb1, #cb2, #cb3, #cb4').on('click', function ()
$(this).val(this.checked ? 1 : 0);
});
更新 这是我的html:
<input type="checkbox" name="cb1" id="cb1" value="1" checked />
<input type="checkbox" name="cb2" id="cb2" value="1" checked />
<input type="checkbox" name="cb3" id="cb3" value="1" checked />
<input type="checkbox" name="cb4" id="cb4" value="1" checked />
默认情况下它们都被选中。
如果其中之一未选中,MySQL 将报告以下错误:0SQLSTATE[23000]:完整性约束违规:1048 列 'ColumnName' 不能为空。
这是因为列设置为不设置为 Null。即使我已将默认值设置为 0,一旦我单击提交按钮,我仍然会收到错误消息。我尝试删除 Not NULL 属性,但不是将值预填充为 0,而是在数据库中输入为 NULL。