JQueryを使用してチェックボックスのグループをPHPに渡そうとしています。JSON を使用して複数のチェックボックス項目を PHP ファイルに渡し、DB にクエリを実行するのコードを使用しています。これをその質問の下に投稿する必要がありますか?
チェックボックスは、カレンダーの月の各日に 1 つずつあります。値は月の整数日です
<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 は、チェックされたボックスのリストが投稿パラメータにあることを示しています。この例を生成するために確認した 2 日間は、コードで識別できる 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
私はどんな提案にもとても感謝しています。ハリー