Javascript 将多行复选框值保存到数据库中

Javascript 将多行复选框值保存到数据库中,javascript,php,database,checkbox,Javascript,Php,Database,Checkbox,我正在创建一个包含复选框的表单。一行中有5个复选框。如果用户添加另一行,则会有另外5个复选框 看起来是这样的,, 我使用的代码 编辑:删除零(name=“Monday[]”)不会解决问题,因为未提交未选中的单选或复选框元素 我会考虑在生成行时添加一个索引到你的复选框名称,比如: <input type="checkbox" name="Monday[0]" value="1"> <input type="checkbox" name="Tuesday[0]" va

我正在创建一个包含复选框的表单。一行中有5个复选框。如果用户添加另一行,则会有另外5个复选框

看起来是这样的,,

我使用的代码


编辑:删除零(
name=“Monday[]”
)不会解决问题,因为未提交未选中的单选或复选框元素

<>我会考虑在生成行时添加一个索引到你的复选框名称,比如:

  <input type="checkbox" name="Monday[0]" value="1">

  <input type="checkbox" name="Tuesday[0]" value="1">



这样,您的PHP循环应该以JSON方式工作:

函数sendFunction()
{
//tr
var checkboxJSON={};
var i=0;
var tr=$(“#dataTable>tr”)。每个(函数(){
//复选框
checkboxJSON[i]={};
$(this).find(“输入[type='checkbox']”)。每个(函数(){
如果($(this).is(':checked'))
{
checkboxJSON[i][$(this).attr(“name”)]=1;
}
其他的
{  
checkboxJSON[i][$(this).attr(“name”)]=0;
}
});
i++;
});
var checkboxData=JSON.stringify(checkboxJSON);//将其作为checkboxData发送到服务器!
console.log(checkboxData);
}


将复选框的名称更改为
day[]
。这样,值
$\u POST['day']
就变成了一个包含真信息和假信息的数组,其中每一行都与输入中的行相对应。用实际的日期替换日期。基本上你在问:有行的表单、添加按钮和提交按钮。在提交值时,复选框已收到。我说的对吗?另一个选项,在行上循环Javascript并以JSON的形式发布。@Mouser我不清楚如何使用JSON。你是如何获得html代码的?以及如何在点击按钮时添加新行?同样的事情发生了,该值没有正确地进入数据库,这可能是由于您使用
foreach
@Mouser循环它的方式造成的,但这已经是我能找到的最好的未定义索引:复选框;未定义索引:startTime;为foreach()提供的参数无效@雷蒙德,我已经给你提供了额外的指示,所以你可以试着实施。我的解决方案不是量身定做的,你必须实现它并使其适应你的代码。实际上什么都没有。我的复选框代码应该在哪里:DWhy是否需要设置表单的隐藏输入?因为当发送到服务器时,复选框数据存储在那里。
  <input type="checkbox" name="Monday[1]" value="1">

  <input type="checkbox" name="Tuesday[1]" value="1">
  <input type="checkbox" name="Monday[2]" value="1">

  <input type="checkbox" name="Tuesday[2]" value="1">