访问从javascript到jinja的数组

时间:2013-11-12 11:23:59

标签: javascript python google-app-engine jinja2

我如何读取从javascript到jinja模板的数组:

        <script type="text/javascript">

    var x =0;
    function ActionDeterminator() {
    x=x+1;
         document.getElementById("me").innerHTML=x;
         var $label = $('input[id = optionD]').next();
    $label.text(x); 
         alert('{{option_D[0]}}');
        return true;
        }
    </script>>

当我使用上面的代码时..它工作得很好。但是当我想把变量x放在这样的时候:

        <script type="text/javascript">

var x =0;
function ActionDeterminator() {
x=x+1;
     document.getElementById("me").innerHTML=x;
     var $label = $('input[id = optionD]').next();
$label.text(x); 
     alert('{{option_D[x]}}');
    return true;
    }
</script>>

我得到一个空警报对话框。任何人都可以告诉我如何解决这个问题

1 个答案:

答案 0 :(得分:1)

你应该能够意识到,在'{{option_D[x]}}'中,整个表达式在进入浏览器之前由Jinja进行评估,并且Jinja对x的内容一无所知。

相反,你应该让Jinja输出整个列表作为JS数组,然后让Javascript进行元素选择:

alert({{ option_D }}[x]);

在将服务器端发送到模板之前,您可能需要在服务器端将option_D转换为JSON。