我有以下AJAX功能来更新点击的投票。
$(function() {
$(".vote").click(function()
{
var id = $(this).attr("id");
var name = $(this).attr("name");
var dataString = 'id='+ id ;
var parent = $(this);
if (name=='up')
{
$(this).fadeIn(200).html('<img src="/content/voting/yes-enb.JPG" />');
$.ajax({
type: "POST",
url: "up_vote.php",
data: dataString,
cache: false,
success: function(html)
{
parent.html(html);
}
});
}
});
和div / span html代码如下
<span class="vote" id="53" name="up" style="text-decoration:none; color:none; margin:5px; ">
<img src="/content/voting/yes-enb.png" width=12 height=12 alt="">
<span style="text-decoration:none; color:none">'.$up.' </span></span>
因此,每次用户单击投票按钮时,上述AJAX代码都会递增计数器。但是在这种情况下,投票img以及投票数会得到更新。我只想要'。$ up'。部分得到刷新。这只是投票部分。
知道如何做到这一点?
答案 0 :(得分:1)
您应该使用请求中的数据仅使用“投票”类更新范围内的范围。
所以改变
parent.html(html);
到
parent.find('span').html(html);
确保您的php文件仅返回投票值以避免重复箭头:)
答案 1 :(得分:1)
使用$('.vote > span').html(html)
代替parent.html(html)
,而您的up_vote.php只需返回相关的数字。