0

我正在尝试将一个值返回给 PHP,我可以使用它并将其发送到数据库。我似乎无法使用 GET 类型的 jQuery AJAX 来做到这一点。这是我用来捕获值的 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 回答