javascript - Django按钮类forloop触发javascript
问题描述
我在Django模板中有forloop,如果条件包含true,我想为元素制作按钮,以将附加信息显示为信息框或弹出窗口。最好的方法是 javascript,但是如何分别触发每一个呢?我不知道会有多少按钮。我可以使用forloop计数器,但是如何激活js呢?
{% for hist in histor %}
<a class="trigger_popup_{{ forloop.counter }}"><img src='{% static "images/info.PNG" %}'></a>
{% if hist.ikona == 1 %} <img src='{% static "images/hist/108.png" %}'>
{% elif hist.ikona == 2 %} <img src='{% static "images/hist/154.png" %}'>
{% elif hist.ikona == 8 %} <img src='{% static "images/hist/499.png" %}'>
{% endif %}
{% endfor %}
在此添加什么:
var modal = document.getElementById("trigger_popup_");
按钮/链接类可能是 trigger_popup_4、trigger_popup_5、trigger_popup_88 这个如何管理?
解决方案
一种可能的解决方案是在带有事件处理程序的元素中使用数据属性
{%for i in list%}
<a href="javascript:void(0);" data-id="{{i.id}}" class="triggermodal">somelink</a>
{%endif%}
<script>
$("body").on("click",".triggermodal",function(){
var modalid=$(this).attr("data-id");
$("trigger_popup_"+modalid).modal("toggle");/toggles the modal
});
</script>
推荐阅读
- php - 找不到类“App\Http\Controllers\User”
- python - 绘制 Pytorch 回归问题的预测结果和实际结果
- r - 使用 RSelenium 在 Windows 和 Mac 上进行网络抓取
- jaeger - 如何在 Jaeger 中按标签过滤
- oracle - Oracle SQL 查询替代使用 Condition 'value1 is NULL OR Value1 =Value2'
- spring - Spring Boot/Hibernate:当我给我的代码发短信时出现 Not Found 错误
- python - Heroku没有在Python Dash中的条形图中显示所有数据
- postgresql - 返回当前季度过去的天数
- ruby-on-rails - ActiveAdmin 定义自定义Route,错误生成路由
- ruby-on-rails - 使用 RSPEC 和 ROR 在 rails 控制器中存根 api 调用