Javascript jQuery将多维表单数据发送到PHP脚本
我使用jquery进行post操作。我有多个复选框,如下所示。我想发布多维数组,但操作失败。当我认为存在javascript错误时,我哪里做错了 输入结构 如上所述,我将数组保留在名称中。我想发布此内容,但刚刚发布了选项[]字段。name=options[0][menu][1]如何完整发布此部分 $。添加购物车。单击功能{ var csrfName=$'.txt_csrfName'.attr'name'; var csrfHash=$'.txt_csrfname'.val; var product_id=$this.dataproductid; var product_name=$this.dataproductname; var product_price=$this.dataprice; 变量数量=$+产品id.val; var image=$this.dataimage; var期权=[]; var resimli=[]; var coklu=[]; var菜单=[]; $':复选框:选中“.eachfunctioni”{ 选项[i]=$this.val; }; $'input.menu'。每个函数i{ 菜单[i]=$this.val; }; $“选择选项:已选择”。每个功能i{ coklu[i]=$this.val; }; $':收音机:已选中。每个功能i{ resimli[i]=$this.val; }; 如果数量!=&数量>0 { $.ajax{ url:cart\u控制器/添加, 方法:邮寄, 数据:{product_id:product_id,product_name:product_name,product_price:product_price,quantity:quantity,menu:menu,options:options,coklu:coklu,resimli:resimli,image:image,[csrfName]:csrfHash}, 数据类型:“json”, 成功:功能响应 { $'.txt_csrfname'.valresponse.token; 成功{ 标题:“Septe Eklendi”, 信息:“Ürün septinize Eklendi!”, 位置:'topRight', }; $'.sepetim'.loadcart\u控制器/sepet; $'.sepetsay'.loadcart\u控制器/sepetsay; } }; } 其他的 { iziToast.error{ 标题:“迪卡!”, 信息:“吕特芬·鲁恩·阿德蒂尼·塞辛!”, 位置:'topRight', } } }; 结果选项名称 我想要的结果 当您这样做时:Javascript jQuery将多维表单数据发送到PHP脚本,javascript,php,jquery,arrays,Javascript,Php,Jquery,Arrays,我使用jquery进行post操作。我有多个复选框,如下所示。我想发布多维数组,但操作失败。当我认为存在javascript错误时,我哪里做错了 输入结构 如上所述,我将数组保留在名称中。我想发布此内容,但刚刚发布了选项[]字段。name=options[0][menu][1]如何完整发布此部分 $。添加购物车。单击功能{ var csrfName=$'.txt_csrfName'.attr'name'; var csrfHash=$'.txt_csrfname'.val; var produc
options[i] = $(this).val();
你失去了多维的结构
您可以尝试类似的方法:
$(':checkbox:checked').each(function(i){
options.push({menu: { 1: $(this).val() }});
});
@WAM编辑
$':复选框:选中“.eachfunctioni”{
按{菜单:{1:$this.val};
};
添加属性输入
数据菜单UID=2
$':复选框:选中“.eachfunctioni”{
点击{menu:{[$this.datamenuid]:$this.val};
};
嘿:为什么没有人回答{菜单:{1:-这不是一个常数,我怎么能改变它?菜单[1]像菜单[2]一样改变。要回答,我需要更多的html示例。我不理解表单的结构。我按照你的意愿安排。对不起,我一个小时内没有电脑……这段时间后我回来了。是的,我会这样说。
options[i] = $(this).val();
$(':checkbox:checked').each(function(i){
options.push({menu: { 1: $(this).val() }});
});