在我的一个模板中,我有一个遍历所有项目的for循环。当某人喜欢或不喜欢某件商品时,我想用我的功能来处理。将按钮的HTML设置为如下所示:
<button onclick='update_like(arg1, arg2)'></button>{{ item.id}}
但是,我需要将模板变量传递给该函数。所以我尝试了这样的事情:
<button onclick='update_like({{item.id}}, {{item.name}})'></button>{{ item.name}}
但是点击按钮只是输出: Uncaught SyntaxError: Unexpected token 'default'
这是我正在使用的完整模板的精简版:
{% extends 'base.html' %}
{% load static %}
{% block content %}
<div class="list">
{% for item in items %}
<button onclick='update_like({{item.id}}, {{item.name}})'></button>{{ item.name}}
{% endfor %}
</div>
<script>
var count = {};
function update_like(item_id, item_name) {
count[item_id] = 1;
console.log(count);
return;
}
</script>
{% endblock %}
假设item.id是数字,item.name是字符串。您必须像这样引用您的值:
<button onclick="update_like({{item.id}}, '{{item.name}}')"></button>{{ item.name}}
为确保上述代码安全:将替换'
为\'
(通过自定义过滤器),item.name
或不允许将单引号item.name
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句