обновить голоса - PullRequest
       1

обновить голоса

0 голосов
/ 02 апреля 2011

Эй, я делаю опрос, используя AJAX для отправки голосов. ниже приведен призыв AJAX и html-часть для буквального отображения голосов.

$.ajax(address, {
    type: 'POST',
    data: {'votername' : votername,},
    success: function (data) {
        location.reload();
    }});

<span>Votes:{{each.vote}}</span>

Идея состоит в том, что после того, как пользователи нажмут кнопку голосования, количество голосов увеличится на 1. Я перезагружаю страницу, чтобы появился новый голос. Есть ли способ показать последнее голосование, не перезагружая страницу? это просто "волшебно" всплывает? Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 02 апреля 2011

Попробуйте что-то вроде этого ...

$.ajax(address, {
    type: 'POST',
    data: {'votername' : votername,},
    success: function (data) {
        $('#total').html('Votes: '+data);
    }});

<span id='total'>Votes:{{each.vote}}</span>

Здесь ваш метод Ajax должен возвращать общее количество голосов.

1 голос
/ 02 апреля 2011

Получите доступ к элементу, в котором хранится число, используя jQuery, и увеличьте число:

var count = $('#votecount').text();
count = parseInt(count) + 1;
$('#votecount').text(count);

Это должно «волшебным образом» обновить номер, если вы обновите идентификатор элемента, чтобы он соответствовал вашему коду.

Добавление

Если вы возвращаете новое общее количество голосов в data вашего вызова AJAX, вы можете сделать это:

success: function (data) {
    $('#votecount').text(data.number);
}

Протест

Я использую .text() вместо HTML на всякий случай, если с числом счетчика что-то странное. С .text() вы сразу увидите, что происходит. .html() может изначально маскировать проблему. Несмотря на это, .html(), вероятно, является лучшим выбором (по сравнению с .text()) в долгосрочной перспективе.

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