2013-08-09 1 views
0

J'essaie de récupérer une valeur PHP avec laquelle je peux travailler et envoyer à la base de données. Je ne semble pas être capable de le faire en utilisant le type GET de jQuery AJAX. Voici le PHP que je utilise pour attraper la valeur:Passer une valeur à PHP à partir de jQuery Ajax

<?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>"; 
?> 

est ici le 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'); 
      } 
     }); 
    }); 
}); 

Je suis en train de passer dans l'id de l'élément de classe .box à la variable date_time qui fonctionne, mais il ne semble pas fonctionner quand j'appelle $_GET['id'] en PHP. Je récupère juste une valeur indéfinie.

+0

# manquant dans le sélecteur de date_time – Notepad

Répondre

3

Si vous voulez envoyer l'attribut id, pas la valeur, vous pouvez utiliser

$(".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'); 
     } 
    }); 
}); 
+0

hmm .. Je semble toujours obtenir Undefined index de retour de php, mais je reçois toujours le message « succès » ... –

+0

essayez-vous d'envoyer l'identifiant du élément qui a été cliqué comme les données? –

+0

Oui, c'est correct –

0

Essayez ceci:

$('#' + date_time).val() 
2

Vous pouvez référencer le cliqué .box en utilisant $(this):

$(".box").click(function() { 
    $.ajax({ 
     type: 'GET', 
     url: '/book.me/loop.php', 
     data: { 
      id: $(this).val() 
     }, 
     success: function(data){ 
      alert('successful'); 
     } 
    }); 
}); 
2

vous devez définir les données comme suit:

$(".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'); 
     } 
    }); 
}); 
Questions connexes