-1

我如何从 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>>

我得到一个空的警报对话框。谁能告诉我解决这个问题

4

1 回答 1

1

您应该能够意识到,在 中'{{option_D[x]}}',整个表达式正在由 Jinja 评估,在它到达浏览器之前,Jinja 对是什么一无所知x

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

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

您可能需要option_D在服务器端将其转换为 JSON,然后再将其发送到模板以使其正常工作。

于 2013-11-12T11:33:09.330 回答