You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

循环中点击按钮通过Ajax获取对应行ID的问题

解决点击按钮获取对应行ID的问题

你的问题出在选择器没定位到当前按钮对应的ID元素,直接用$('.getfromhere')会选中页面上所有这个类的元素,所以text()会返回所有ID的拼接结果,html()只取第一个元素的内容。下面给你两种简单的解决方法:

方法一:通过DOM兄弟元素定位

利用按钮和ID元素的兄弟关系,在点击事件里用$(this)获取当前点击的按钮,再找到它对应的ID元素:

修改后的JS代码:

$(document).ready(function() {
    $(".actdeact").on('click', function() {
        // 因为ID的span是按钮的前一个兄弟元素,用prev()直接定位
        var id = $(this).prev('.getfromhere').text();
        // 如果后续结构有变化,也可以用siblings()找同层级的ID元素:
        // var id = $(this).siblings('.getfromhere').text();
        alert(id);
    });
});

方法二:用data属性存ID(更推荐)

把ID直接存在按钮的自定义data属性里,不用遍历DOM,代码更简洁高效:

首先修改模板循环里的按钮代码:

{% for x in mylist %}
   <span class="getfromhere">{{x.id}}</span>
   <span class="btn btn-info actdeact" data-id="{{x.id}}">Deactivate</span>
{% endfor %}

然后JS代码改成这样:

$(document).ready(function() {
    $(".actdeact").on('click', function() {
        var id = $(this).data('id');
        alert(id);
    });
});

这两种方法都能精准拿到当前点击按钮对应的行ID,你可以根据自己的需求选一种用。

内容的提问来源于stack exchange,提问作者Alvar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 22:37:09