var callback = function(data) {
$.ajax({
url: '/vote/',
type: 'post',
data: {
id: data.id,
up: data.upvoted,
down: data.downvoted,
star: data.starred
}
});
};
$('.upvote').upvote({id: /how to send id of upvoted div here/, callback: callback});
我的django模板代码是:
<div id="topic-{{object.id}}" class="upvote">
<a class="upvote"></a>
<span class="count">{{object.upvotes|sub:object.downvotes}}</span>
<a class="downvote"></a>
<a class="star"></a>
</div>
我可以从div的id属性中提取数字部分。我只是想知道如何在ajax调用的upvote函数中发送id。
我正在使用Upvote。
答案 0 :(得分:1)
如果您要发送所点击的div
的ID,可以像这样设置data-id
属性:
<div data-id="123">...</div>
如果dom中没有这样的属性,则该值将保持未定义。因此,在您的情况下,您将要将div设置为如下:
<div data-id="topic-{{object.id}}" class="upvote">
设置data-id
后,您可以从选项对象中忽略id
:
$('.upvote').upvote({callback: callback});