我有一个可行的解决方案,但我想知道最好的方法。
我有一个生成项目表的模板,如下所示:
{% for item in item_list %}
{{ item.name }}: <button onclick="doSomething({{item.id }})">Click Me!</button>
{% endfor %}
<script>
function doSomething(item_id) {
// Do stuff here
// Is actually an ajax request which sends the item's id
}
</script>
这非常有效,但是我知道在 Javascript 中使用侦听器而不是onlick
.
拥有一个功能并item.id
根据单击的按钮动态地将其注入其中的最佳方法是什么?
我能想到的唯一方法是item_list
在Javascript中循环遍历并为每个item
按钮创建一个函数。这是最好的方法吗?
{% for item in item_list %}
{{ item.name }}: <button id="btn-{{ item.id }}">Click Me!</button>
{% endfor %}
<script>
{% for item in item_list %}
jQuery("#btn-{{ item.id }}").click(function() {
// Do the stuff with {{ item.id }}
});
{% endfor %}
</script>
在我看来,这取决于它的长度item_list
可能会生成很多 Javascript。这是一个问题吗?有没有更好的办法?