在jQuery中通过ajax发送多维复选框数组
Posted
技术标签:
【中文标题】在jQuery中通过ajax发送多维复选框数组【英文标题】:Sending multidimensional checkbox array via ajax in jQuery 【发布时间】:2021-06-01 08:08:12 【问题描述】:我正在尝试使用复选框将多维数组值发布到服务器端。但不幸的是无法弄清楚使用复选框的方法。
我尝试做的是使用 ajax 发布 ID (NAME, VALUE),但只发送一个数组。
<input type="hidden" id="addon_id" value="8"> //value is dynamic
<input type="checkbox" name='addon[]' value="1.99" title="Item 1"> //value and title are dynamic
<input type="checkbox" name='addon[]' value="5.99" title="Item 2">
<input type="checkbox" name='addon[]' value="3.99" title="Item 3">
jQuery
var addon = [];
$.each($("input[name='addon[]']"), function()
if ($(this).is(":checked"))
addon.push($(this).val());
);
$.ajax(
url: '<?php echo site_url('cart/add_to_cart'); ?>',
type: 'POST',
data:
addon_id: addon_id,
addon: addon
,
dataType: "JSON",
success: function(response)
//response
);
当前发送格式
[addon] => Array
(
[0] => 1.99
[1] => 5.00
[2] => 3.89
)
数组格式尝试发送
Array
(
[8] => Array(
[0] => Array(
[name] => ITEM 1
[price] => 1.99
)
[1] => Array(
[name] => ITEM 2
[price] => 5.99
)
[2] => Array(
[name] => ITEM 3
[price] => 3.99
)
)
)
JSON
"8":
"0":
"name":"ITEM 1",
"price":"1.99"
,
"1":
"name":"ITEM 2",
"price":"5.99"
,
"2":
"name":"ITEM 3",
"price":"3.99"
【问题讨论】:
你的输出不清楚,你想要一个json?所以你能用json格式的键名显示你想要的json吗 刷新页面看看吧 【参考方案1】:对于循环,您必须将两个值都包含在一个数组中:
$.each($("input[name='addon[]']"), function()
if ($(this).is(":checked"))
addon.push("name":$(this).attr("title"), "price":$(this).val());
);
【讨论】:
以上是关于在jQuery中通过ajax发送多维复选框数组的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 jQuery 通过 Ajax 发送复选框数组的值?
通过 jQuery ajax() 向 PHP 发送多个复选框数据