Проблема jQuery ajax с обновлением div и новым контентом - PullRequest
0 голосов
/ 09 февраля 2010

Я бы хотел обновить #calendar div новым контентом, отправленным на calendar.php
Я получаю предупреждение об успехе, но контент не обновляется. Как я могу получить новый calendar.php для отображения с данными POSTed?

$(document).ready(function(){
 $('#next').click(function() {
  $.ajax({
       type: "POST",
       url: "calendar.php",
       data: 'year=2012',
       target: '#calendar',
       success: function(html){
          alert("Success");

       }
     });
   });

Соответствующий HTML-код находится здесь: #next - это идентификатор тега div в calendar.php

<div id="calendar">
    <?php include('calendar.php'); ?>
</div><!-- /#calendar -->

Ответы [ 2 ]

2 голосов
/ 09 февраля 2010

Вы можете просто установить это явно в вашем обработчике:

success : function (html) {
    $('#calendar').html(html);
}

Кроме того, поскольку вы будете заменять содержимое календаря div (который содержит ссылку #next), вам, вероятно, придется использовать .live('click', function() { вместо .click(function(), поскольку вы потеряете событие обработчики.

0 голосов
/ 09 февраля 2010

jQuery предлагает следующий более простой метод:

$('#next').click(function(){

    $('#calendar').load('calendar.php', {year: 2012}, function(){

        // The response html was loaded into the calendar div already
        // You could use this area to display a success message
        alert("Done!");

    });

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...