【发布时间】:2012-06-19 11:00:51
【问题描述】:
澄清我已经得到了选中复选框的值。我需要将它们组织成一个类似于给出的 PHP 示例的数组。谢谢
我正在尝试构建一组选中的复选框,以通过 AJAX 发送以供 PHP 处理。最初我通过 PHP 获得了选中的复选框,但我无法将此过程转换为 Javascript。
有三组不同的复选框(“第一”、“第二”、“第三”),每组都有 4 个不同的复选框可供选中。
复选框的 html 遵循相同的模式,直到值 4。
<input type="checkbox" name="first" class="selection first" value="1" />
<input type="checkbox" name="second" class="selection second" value="1" />
<input type="checkbox" name="third" class="selection third" value="1" />
<input type="checkbox" name="first" class="selection first" value="2" />
<input type="checkbox" name="second" class="selection second" value="2" />
<input type="checkbox" name="third" class="selection third" value="2" />
等等……
PHP 代码会返回一个这样的选中复选框数组。
$selections => array(
['first'] => array(
[0] => 1,
[1] => 3,
[2] => 4),
['second'] => array(
[0] => 2),
['third'] => array(
[0] => 1,
[1] => 4)
);
我一直在尝试并尝试在 JavaScript 中复制它,但我不断收到诸如 cannot convert undefined to object 之类的错误。我循环可用位置以创建数组,然后循环所有复选框,如果选中,我会得到值。
console.log() 打印位置(“第一”、“第二”或“第三”)和选择的编号(1 - 4)。这就是我所需要的,但是如何将它放在一个类似于 PHP 的数组中?
function getSelections() {
var selections = new Array();
$('.position').each(function() {
selections[$(this).attr('value')] = new Array;
});
$('.selection').each(function() {
if( $(this).prop('checked') == true ) {
position = $(this).attr('name');
selection = $(this).attr('value');
console.log(position + ' - ' + selection);
}
});
return selections;
}
它将以 JSON 格式发送到 PHP 脚本,我需要将其解码为类似于 PHP 的数组。
【问题讨论】:
-
搜索 jquery checkboxes abd 你会发现十个重复的问题..
-
我不是在问如何获取选定的复选框,如果您阅读问题,您会发现我已经获得了选定复选框的值,我正在寻找如何将它们放入类似于php one的数组
标签: php javascript ajax arrays associative-array