JQuery больше кнопка вопроса - PullRequest
3 голосов
/ 02 марта 2012

Я пытаюсь реализовать систему разбивки на страницы jquery / ajax для моих комментариев.Я уже реализовал функцию удаления и вставки комментариев в jquery.Теперь у меня проблемы с полной реализацией части нумерации страниц.Часть моего кода ниже.По сути, в функции «загрузить больше сообщений» я хочу, чтобы счетчик переменных сбрасывался до нуля, если пользователь нажимает кнопку «Удалить комментарий» или кнопку «Добавить комментарий».Идентификаторы для этих кнопок соответственно «deletecomment» и «addcomment».по существу, переменная count передается в запрос, где с LIMIT $ page, 5. Пожалуйста, помогите, если можете.Спасибо.

$(document).ready(function() {
    var count = 0;
    var commentcount = "<?= $commentcount ?>";
    if(commentcount <= 5){
        $("#more").hide();
    }
    if(commentcount >= 6){
        $("#more").show();
    }
    $("#more").click(loadPosts);

    function loadPosts() {
        var num = 5;
        $(".loading").show("fast");
        count += num;
        $.post("pull.php?id=<? echo $id; ?>", {'page': count}, function(data){
            $("#commentarea").append(data);
            $(".loading").hide("slow");
            var commentcount = "<?= $commentcount ?>";
            if(commentcount <= (count + num) && count >=5){
                $("#more").hide();
            }
        });
    }

});

1 Ответ

0 голосов
/ 02 марта 2012

В loadPosts у вас есть:

var commentcount = "<?= $commentcount ?>";

PHP-код запускается при первой загрузке страницы, а не по запросу AJAX. Поэтому, когда запускается функция loadPosts, значение комментария устанавливается равным его текущему значению.

Возможно, вы хотите вернуть данные JSON из вашего pull.php ... что-то вроде:

$commentcount = /* however you get your count */;
$returnData = array( 'commentcount' => $commentcount, 'comments' => $comments );
echo json_encode( $returnData );

Тогда в вашем JS:

$('#commentarea').append( data.comments );
var commentcount = data.commentcount;
...