使用django模板在javascript函数中传递变量

时间:2017-07-06 14:22:57

标签: javascript django django-templates

这里我将{{id}}传递给hide_show(...)javascript函数

{% for stock in part_temp.part_stock_set.all %}
    {% with id="list"|concatenate:stock.id %}
    <div id="{{ id }}">
    {{ stock.entry_date}}
    </div>
    <button type="button" onclick="hide_show({{ id }})">edit</button>
    <br>
        {{ id }}

上面{%endwith%} {{id}}正确显示,但hide_show函数未调用,但仅在{{stock.id}}传递给它时调用。 连接过滤器只是连接并返回一个字符串。

    <script type="text/javascript">
    function hide_show(temp) {
        document.getElementById(temp).style.display='none';
        window.alert(temp);
    }
</script>

1 个答案:

答案 0 :(得分:0)

问题似乎与引号有关。如果{{id}}返回一个字符串,那么您不必在此处输入引号

<div id="{{ id }}">

只需将其替换为:

<div id={{ id }}>

如果id是一个整数,或者上面的内容不起作用,那么在调用hide_show函数时,你必须在这里和参数中加上引号。