0

作業してデータベースに送信できる値をPHPに戻そうとしています。jQuery AJAX の GET タイプを使用してそれを行うことができないようです。値をキャッチするために使用しているPHPは次のとおりです。

<?php require_once("header.php"); ?>
<?php require_once("class.php"); ?>
<?php

//$month = $_POST['month'];
//$year = $_POST['year'];

$month = 8;
$year = 2013;
$numDays = cal_days_in_month(CAL_GREGORIAN, $month, $year);
$empty = "<table class='box'><td>&nbsp</td></table>";

$cal = new calendar();
$cal->mkMonth($month);
$cal->emptyDays($empty, $numDays, $month, $year);
$cal->mkdays($numDays, $month, $year);

echo "</div>";


echo "<div id='jresult'>";
if (isset($_GET['id'])) {
   echo ($_GET['id']);
}

echo "</div>";
?>

これがjQueryです...

$(document).ready(function(){
    $(".box").mouseenter(function(){$(this).css("background-color", "red");});
    $(".box").mouseout(function(){$(this).css("background-color", "transparent");});
    $(".box").click(function() {
        date_time = $(this).attr('id');
        console.log(date_time);
        $.ajax({
            type: 'GET',
            url: '/book.me/loop.php',
            data: "id=" + $(date_time).val(),
            success: function(data){
                alert('successful');
            }
        });
    });
});

.boxクラス要素のIDを機能する変数に渡そうとしていますが、PHPdate_timeで呼び出すと機能していないようです。$_GET['id']未定義の値を取得しています。

4

4 に答える 4

3

値ではなく id 属性を送信する場合は、次を使用できます。

$(".box").click(function() {
    date_time = $(this).attr('id');
    $.ajax({
        type: 'GET',
        url: '/book.me/loop.php',
        data: "id=" + date_time,
        success: function(data){
            alert('successful');
        }
    });
});
于 2013-08-09T05:55:15.123 に答える
2

.box次を使用して、クリックしたものを参照できます$(this)

$(".box").click(function() {
    $.ajax({
        type: 'GET',
        url: '/book.me/loop.php',
        data: {
            id: $(this).val()
        },
        success: function(data){
            alert('successful');
        }
    });
});
于 2013-08-09T05:56:32.253 に答える
2

次のようにデータを設定する必要があります。

$(".box").click(function() {
    $.ajax({
        type: 'GET',
        url: '/book.me/loop.php',
        data: "id=" + this.id,
        dataType: 'html',
        data: { id: $(this).val() },
        success: function(data){
            alert('successful');
        }
    });
});
于 2013-08-09T06:42:56.990 に答える
0

これを試して:

$('#' + date_time).val()
于 2013-08-09T05:56:22.890 に答える