繁体   English   中英

Javascript包含Django标签

[英]Javascript contains django tags

<script>

 //Handle the callback on success

 function stateChange(){

    if (xmlHttp.readyState==4 && xmlHttp.status==200) {

    //request is successful. So retrieve the values in the response
    var display_language = xmlHttp.responseText.split(';');
    alert("response: " + display_language);

    var newHtml = '{% for chunk in video.chunks.all %} {% for c in chunk.chunklets.all%} <tr> <td>{{c.start}}</td> <td> {% spaceless %} {%for item in c.contents.all%}{%if item.lang ==  display_language %}{{item.text.strip}}{%endif%}{%endfor%} {% endspaceless %} </td> <td>{{c.finish}}</td> </tr> {%endfor%} {%endfor%}';

    $('#xxx').html(newHtml);
    }
}
</script>

如果使用上面的代码,则display_language值为null。 但是Alert可以打印display_language的值。 仅display_language不能传递到newHtml中。

如果更改为

var newHtml = '{% for chunk in video.chunks.all %} {% for c in chunk.chunklets.all%} <tr> <td>{{c.start}}</td> <td> {% spaceless %} {%for item in c.contents.all%}{%if item.lang ==';

newHtml +=  display_language +'%}{{item.text.strip}}{%endif%}{%endfor%} {% endspaceless %} </td> <td>{{c.finish}}</td> </tr> {%endfor%} {%endfor%}';

错误是“”无效的块标记:“ endif”,预期的“空”或“ endfor”

您正在尝试将Javascript和Django模板混合使用过多。 请记住,首先运行所有Django,然后运行所有javascript。 因此,因为display_language值是用Javascript创建的,所以您不能在Django模板中使用它。 我建议只将所有数据传递到Javascript中,然后在纯JavaScript中构造newHtml值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM