JQuery Ajax ответы с нагрузкой (); - PullRequest
0 голосов
/ 15 июня 2011

Я работаю над системой голосования за комментарии.

У меня есть страница profile_new.php?id=194

Эта страница затем использует вкладки jquery для загрузки внешнего файла sketch-comments.php?id=194&thumb=images/thumbs/1.png

Тогда в этой вкладке комментарии прокручиваются div ( jqueryScrollPane- http://jscrollpane.kelvinluck.com/)

Затем в каждом комментарии он использует ролловер, чтобы показать кнопки + и -. ( Так же, как YouTube )

Вот div, который появляется при опрокидывании. ( просто показывает одну кнопку )

<div class="comRate" id="c<?php echo $comID;?>">
    <div id="up<?php echo $comID;?>" >
        <a href="#" id="addUpDown" rel="blah"> show number of "+" here </a>
    </div><!--up-->
</div><!--comRate-->

Мой вопрос: имеет ли значение весь этот дополнительный материал, когда я просто хочу перезагрузить этот div в ответе ajax для отображения обновленного числа? У меня проблемы с пониманием того, как использовать функцию load();, если не сказать больше.

Как я могу просто перезагрузить .comRate div? Нужны ли мне все переменные, которые я использовал для перестроения URL-адресов, чтобы добраться до этого места?

    $("#c" + comID).load(????????);

Спасибо! Dave

Ответы [ 2 ]

1 голос
/ 15 июня 2011

С точки зрения юзабилити, я рекомендую вам просто отправить голос через ajax и повторить число + 1.

Например, если у комментария есть 1 голос, и я добавляю голос, он будетвсегда показывайте 2, а не любое число, которое могло бы быть на самом деле, потому что проголосовали другие люди, о которых я не знаю.

Это предотвращает путаницу при нажатии +1, а затем обновляется до +123.Пользователь понятия не имеет, что только что произошло.

1 голос
/ 15 июня 2011

Я полагаю, вам нужно отправить comId обратно на сервер, чтобы получить правильное количество ответов?

Если это так, вы могли бы использовать это так?

$("#up" + comID").next().load("YourUpdateUrl.php?id=" + comID);

load () берет значение из переданного расположения ресурса и загружает значение в компонент. jQuery doc: http://api.jquery.com/load/

Так что если YourUpdateUrl.php вернул echo "<strong>15</strong>";

<div id="test"><div>
$("#element").load("YourUpdateUrl.php"); = <div id="test"><strong>15</strong></div>
...