我正在尝试使用 JQuery 将一组复选框传递给 PHP。我正在使用使用 JSON 将多个复选框项传递给 PHP 文件并查询数据库中的代码我应该在那个问题下发布这个吗?
复选框对应于日历中月份中的每一天。值是一个月中的整数天
<td><input name="check[]" value="4" type="checkbox">4</td>
<td><input checked="yes" name="check[]" value="7" type="checkbox">7</td>
复选框位于表格中的表格中。
<form id="checkboxes">
<table id="calendarId" class="calendar">
我使用 Jquery 将复选框传递给 PHP:
$("#calendarId").load($.post("calendar.php",{check: $("form#checkboxes").serialize()}));
Firebug 显示在 post 参数中有一个复选框列表。我检查生成此示例的两天是 7 天和 21 天,这在代码中是可辨别的。
check check%5B%5D=7&check%5B%5D=21
Source
check=check%255B%255D%3D7%26check%255B%255D%3D21
我的问题是我无法在 PHP 中提取这些值。
parse_str($_POST['check'], $checkboxes);
返回一个空字符串,就像在 POST 数组上循环一样:
foreach($_POST as $key=>$val){
$test .= $key . "; " . $value . "; ";
}
试图循环 $_POST['check'] 会产生一个错误,我认为这意味着 $_POST['check'] 是空的。
完整页面位于http://www.genomics.liv.ac.uk/shereMuseum/calendar1.html
在发布之前,我还尝试将复选框打包到数据结构“复选框”中:
var checkboxes = new Array();
$("input[name='check[]']:checked").each(function(){checkboxes.push($(this).val());});
或者
$.each($("input[name='check[]']:checked"),function() {
checkboxes.push($(this).val());
});
但随后 Firebug 将 POST 参数报告为:
undefined undefined
undefined undefined
Source
undefined=undefined&undefined=undefined
我将非常感谢任何建议。哈利