2013-08-09 2 views
0

Я пытаюсь вернуть значение PHP, с которым я могу работать и отправлять в базу данных. Кажется, я не могу это сделать, используя GET-тип jQuery AJAX. Вот PHP я использую, чтобы поймать значение:Передача значения PHP из 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>"; 
?> 

Вот 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 класса элемента переменной date_time который работает, но он, похоже, не работает, когда я вызываю $_GET['id'] в PHP. Я просто получаю неопределенное значение.

+0

# отсутствует в селекторе дата_время – Notepad

ответ

3

Если вы хотите отправить идентификатор атрибута, а не значение, вы можете использовать

$(".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

хмм .. Кажется, я все еще получаю неопределенный индекс обратно из PHP, но я все еще получаю «успешный» сообщение ... –

+0

вы пытаетесь отправить идентификатор элемент, который был нажат в качестве данных? –

+0

Да, это правильно –

2

Вы можете ссылаться на щелкнул .box с помощью $(this):

$(".box").click(function() { 
    $.ajax({ 
     type: 'GET', 
     url: '/book.me/loop.php', 
     data: { 
      id: $(this).val() 
     }, 
     success: function(data){ 
      alert('successful'); 
     } 
    }); 
}); 
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'); 
     } 
    }); 
}); 
Смежные вопросы