首页 > 解决方案 > 如何在基于 id 的 HTML jinja 模板中评估此条件

问题描述

假设我有

      <tr>
        <th>Action</th>
        <td id="action_id"></td>
      </tr>

现在我想写一个条件,我根据action_id的值显示一些东西,即

{% if action_id == "on" %}
     display
{%else%}

我正在尝试显示这个,这与如何根据您填写的值填充提交弹出窗口以评估条件有关 | 烧瓶

标签: pythonflask-wtformswtforms

解决方案


Jinja2 模板引擎只能访问通过视图函数传递给它的变量,并且由于您尝试评估的变量是 HTML 元素,因此您需要访问此变量并使用 javascript 进行检查。

模板引擎不知道这个变量是什么,因为它既不是通过您的视图函数传递,也不是在模板内声明,因此您的if条件总是失败。

script您可以使用标准 javascript 来实现这一点,方法是使用标签将其放在模板的末尾。

<script type="text/javascript">
let id_element = $(#action_id).val()
if (id_element === 'on'){
// do your stuff here
}
</script>

推荐阅读