Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
2 / 2 / 1
Регистрация: 18.01.2013
Сообщений: 34

Смена класса блока при обновлении на аякс

30.01.2013, 21:54. Показов 2082. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток веб-мастера! Такой вопрос к вам поскольку только изучаю jquery и ajax коечто смог сделать.
Но столкнулся с проблемй.
Вопрос:

У меня есть голосование за комментарии рейтинг вообщем +/-
Обновляется на аяксе, на плюс и мину стоит соответственно иконка с знаками.

Вот сам скрипт обработки запроса

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$(document).ready(function(){
    $('.rate').click(function(){
        var _class = $(this).attr('class').split(' ');
        var _id = $(this).attr('id').split('_'); 
        _rating( _id[1], _class[1] );
        return false;
    });
 
});
 
function _rating(idpost, action) {
$.ajax({
        type: "POST",
        url: "commentsrating.php",
        data: "idpost=" + idpost + "&action=" + action,
        success: function(html){
            $("#rateresult-" + idpost).html(html);
            
        }
    });
}
Сам код голосования вот

HTML5
1
2
3
4
5
<div class="rating">
        <a class="rate plus" id="pid_<?=$myrow3["id"]?>" href="javascript:void(Плюс)"></a>
        <div id="rateresult-<?=$myrow3["id"]?>"><?=$myrow3['up']-$myrow3['down']?></div>
        <a class="rate minus" id="pid_<?=$myrow3["id"]?>" href="javascript:void(Минус)"></a>
    </div>
При голосовании идет и проверка по ip, хочу сделать так, чтобы после голосования иконка с плюсиком и минусиком не появилась, а тоько сам результат голосования.

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

Хочу таким способом уменьшить риск повторного голосования.

Подскажите кто в курсе как это сделать? СПАСИБО!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.01.2013, 21:54
Ответы с готовыми решениями:

Смена текста при обновлении страницы
Добрый день. Пытаюсь реализовать через java смену текста при обновлении страницы на сайте. Использую скрипт: &lt;SCRIPT...

Смена текста при обновлении страницы
Добрый день. Пытаюсь реализовать через java смену текста при обновлении страницы на сайте. Использую скрипт: &lt;SCRIPT...

Смена get параметра ссылки при обновлении страницы
Доброго времени суток, нужен php скрипт, который при обновлении страницы будет добавлять рандомный get параметр типа ?ver=1234..... к...

11
 Аватар для Soldado
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
30.01.2013, 22:08
.one('событие', обработчик) - привязывает событие к элементу, но сработает только один раз.
Вместо
JavaScript
1
$('.rate').click(function(){
Запишите
JavaScript
1
$('.rate').one('click',function(){

2. Вариант - перед обращением к функции - ajax удаляйте элементы
JavaScript
1
$('.rate').remove();
0
55 / 55 / 8
Регистрация: 29.08.2012
Сообщений: 175
30.01.2013, 22:26
JavaScript
1
2
3
4
5
6
7
$('.rate').click(function(){
        var _class = $(this).attr('class').split(' ');
        var _id = $(this).attr('id').split('_'); 
        _rating( _id[1], _class[1] );
       $(this).siblings('a.rate').css('display','none');
        return false;
    });
Добавлено через 7 минут
А если уж совсем по-хорошему, обработав клик на сервере, присылаете ответ в виде объекта, который скроет кнопки, отключит обработчик..
1
2 / 2 / 1
Регистрация: 18.01.2013
Сообщений: 34
30.01.2013, 22:50  [ТС]
Спасибо за отзыв, картинка с плюсиком при клике на него остается прячется только минус, а при клике на минус остается минус а + прячется. Что-то не так.
0
 Аватар для Soldado
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
30.01.2013, 23:58
А мои варианты?
1
2 / 2 / 1
Регистрация: 18.01.2013
Сообщений: 34
31.01.2013, 00:14  [ТС]
Не неподходит! Можно кликать по минусу если кликнул на плюс
0
 Аватар для Soldado
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
31.01.2013, 00:46
А удаление всех ссылок с классом .rate (мой второй вариант)? Этот класс ведь у обеих ссылок
JavaScript
1
$('.rate').remove();
0
2 / 2 / 1
Регистрация: 18.01.2013
Сообщений: 34
31.01.2013, 10:57  [ТС]
Soldado, Тогда убирает у каждого комментария картинки все с +/- остается только результат, может можно както убрать только у того по которому кликнул, привязать както к нему.
0
 Аватар для Soldado
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
31.01.2013, 11:19
У вас много блоков div class="rating" - в каждом +/- и результат голосования?
Если нет то уточните, если да, то для кликнутого элемента находим родительский блок - в родительском блоке дочерние элементы с классом .rate и удаляем их. Таким образом всё проходит только в пределах кликнутого блока
JavaScript
1
$('this').parent('.rating').children('.rate').remove();
1
2 / 2 / 1
Регистрация: 18.01.2013
Сообщений: 34
31.01.2013, 12:40  [ТС]
Soldado, Да каждый блок имеет ид комментария пример написан выше.

Сколько комментариев сколько и блоков. Меняется только
HTML5
1
<a class="rate plus" id="pid_<?=$myrow3["id"]?>" href="javascript:void(Плюс)"></a>
где

PHP
1
<?=$myrow3["id"]?>
Идентификатор комментария так я решил сделать дабы отсортировать комменты и рейтинги.

Добавлено через 5 минут
Цитата Сообщение от Soldado Посмотреть сообщение
У вас много блоков div class="rating" - в каждом +/- и результат голосования?
Если нет то уточните, если да, то для кликнутого элемента находим родительский блок - в родительском блоке дочерние элементы с классом .rate и удаляем их. Таким образом всё проходит только в пределах кликнутого блока
JavaScript
1
$('this').parent('.rating').children('.rate').remove();
Ничего не делает вообще.

Пример где это есть вот http://aydar.pp.ua/posts.php?id=20
0
 Аватар для Soldado
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
31.01.2013, 14:51
Ошибся я немного - взял this в кавычки.
Нужно
JavaScript
1
$(this).parent('.rating').children('.rate').remove();
Это полностью удалит +/- со страницы. Если при этом происходят какие-то сдвиги других элементов, то можно не удалять, а делать невидимыми
JavaScript
1
$(this).parent('.rating').children('.rate').css('visibility','hidden');
или так
JavaScript
1
$(this).siblings('.rate').andSelf().css('visibility','hidden');
Теперь давайте пройдёмся с самого начала. Я уберу все id и прочее лишнее, что не участвует в удалении +/- И тогда html код будет приблизительно таким

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<div class="rating">
        <a class="rate plus" href="#">+</a>
        <div>рейтинг</div>
        <a class="rate minus" href="#">-</a>
</div> 
<hr/>
<div class="rating">
        <a class="rate plus" href="#" >+</a>
        <div>рейтинг</div>
        <a class="rate minus" href="#">-</a>
</div>
<hr/>   
<div class="rating">
        <a class="rate plus" href="#">+</a>
        <div>рейтинг</div>
        <a class="rate minus" href="#">-</a>
</div>  
<hr/>
Верно?

Тогда и скрипт только для скрытия (то, что не рассматривается я убрал) будет выглядеть так
JavaScript
1
2
3
4
$('.rate').click(function(){
 
 $(this).parent('.rating').children('.rate').css('visibility','hidden');
    });
Если я всё правильно смоделировал, то всё должно работать и у Вас, как работает на этой демо-странице
1
2 / 2 / 1
Регистрация: 18.01.2013
Сообщений: 34
31.01.2013, 17:07  [ТС]
Во клас благодарю за поддержку
Soldado, сегодня уже перечитал сколько перепробовал и ничего, а теперь то что надо. Выручил!

Добавлено через 30 минут
Теперь буду ломать голову над добавлением комментов на аякс.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
31.01.2013, 17:07
Помогаю со студенческими работами здесь

Рандобный показ блока при обновлении страницы
Доброго времени суток :) Подскажите как реализовать следующее: Есть три div блока, как бы его сделать, чтобы при обновлении страницы...

Смена текста при обновлении страницы (текст на картинке с заданными параметрами)
У меня есть несколько рабочих скриптов. Но нее знаю как их объединить. Задача стоит такая. Есть фоновое изображение, поверх него текст....

При обновлении блока содержимым полученным с сервера, блок дублируется внутри себя же.
$.ajax({ url: 'menu-call.php', success: function (data) { ...

Аякс смена изображений созданных на php
Доброе время суток, уважаемые форумчане! Объясните мне кто нить, почему не меняется содержание изображения которое было создано...

Смена цвета блока при клике
При клике на кнопку, в определённом блоке должен меняться и текст внутри блока на заданный в условии, и так же, должен меняться цвет самого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru