2

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

私はどんな提案にもとても感謝しています。ハリー

4

2 に答える 2

0

これを見てみてください:http: //files.nette.org/109/jquery.ajaxform.js

于 2012-04-25T09:02:39.357 に答える
0

$('#calendarId')。load(...)を使用している理由はわかりませんが、次のように試してみましたか

$.ajax({
    type: 'POST',
    url: 'calendar.php',
    data: $('#checkboxes').serialize(),
    success: function(response) {
        // handle the response here
    }
});
于 2012-04-25T09:20:54.057 に答える