0

我有一个有效的 AJAX 请求,当用户单击一个元素时更新投票数据库。元素的 ccs 改变,显示的票数更新。

这是我的一些 JS

function voteSuccess(data, textStatus, jqXHR) {
    $("#"+postId).addClass('red').removeClass('blankUpVote'); //CSS Element

    $('#vote'+postId).html(data); //amount of votes is updated
}

wherepostId被声明为之前元素的 this.id。我正在尝试设置标识符

$("#"+postId)

$("#post"+postId)

并将模板中相应元素的 id 更改为

id="post{{ post.pk }}"

 id="{{ post.pk }}"

但它不起作用!"ValueError: invalid literal for int() with base 10: 'upVote12'"当我运行它时,我得到了异常。

第二部分,更新投票的数量以相同的方式设置并且有效。标识符在哪里

$('#vote'+postId)

并且模板中对应元素的id是

id = "vote{{post.pk}}"

想不通!我需要在 id 中添加一个字符串,以使其与 post 容器中的其他 id 不同,后者将post.pk在模板中使用相同的变量。

它适用于第二个标识符,但不适用于第一个。有人对可能发生的事情有任何想法吗?

谢谢

4

0 回答 0