javascript - 如何在jquery upvote插件函数的参数中发送元素id

标签 javascript jquery ajax jquery-ui jquery-plugins

 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 .

最佳答案

如果您想发送单击的 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});

关于javascript - 如何在jquery upvote插件函数的参数中发送元素id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41948221/

相关文章:

javascript - 如何每 20 秒加载 $.ajax (jquery) 响应到 iframe?

php - 如何使用 AJAX 或类似工具编辑 MySQL 内联查询的结果?

javascript - 使用 $.ajax 发布不起作用

Javascript 变量不通过 ajax 更新

javascript - 如何从 jSTL foreach 到 jQuery 访问变量值

javascript - sIFR3 : controlling a and a:hover styles inside replaced through CSS rather than JS

javascript - AmSerialChart ValueAxis 起始值和增量

javascript - JsTree-grid不显示数据

Javascript/jquery - 单击按钮

javascript - 具有堆叠粘性组标题的可滚动 div