【问题标题】:Jinja How to get if checkbox is checkedJinja 如果选中复选框,如何获取
【发布时间】:2021-02-28 12:16:51
【问题描述】:

我在 HTML 表格中添加了复选框,我想知道是否有任何复选框被选中。我有一个在 Jquery 中工作的脚本,它告诉我在变量中标记的复选框的数量,但我还没有找到如何在 Jinja if 语句条件中使用 Jquery 变量,或者是否有任何其他方式。

所以我想得到的是:

如果选中任何复选框或 Jquery var > 0(我不知道哪种方式可行)

{% if current_user.is_authenticated %}
    {% if var > 0 %}
        <form method="POST">
            <div class="form-group">
                <button type="submit" class="btn btn-primary">Submit</button>
            </div>
        </form>
    {% else %}
        <div class="form-group">
            <button type="submit" class="btn btn-primary" onclick="submiton()">Submit</button>
        </div>
    {% endif %}
{% else %}
    <div class="form-group">
        <button type="submit" class="btn btn-primary" onclick="submitoff()">Submit</button>
    </div>
{% endif %}

获取选中复选框数量的 JQuery 函数:

<script>
    function qtd_checkbox() {
        var numberOfChecked = $('input:checkbox:checked').length;
    }    
</script>

【问题讨论】:

  • var &gt; 0 隐藏显示 htmls 时您需要做什么?
  • @Swati if var > 0 它将接收 POST 请求方法,否则我将调用另一个函数。
  • 然后尝试使用 ajax 。
  • @Swati 太好了,感谢您的提示!您对此有任何解决方案或遇到过此类问题吗?
  • 看看这是否与后端有关,然后 ajax 会有所帮助,但如果您只需要隐藏/显示表单或 div,那么只需 jquery 即可。您可以在 jquery 代码中执行相同的操作 if(var > 0) 并根据长度隐藏或显示表单,无需将 jquery 代码放入 jinja 中。

标签: javascript html jquery jinja2


【解决方案1】:

我能够通过 Python 而不是 Jinja 找到所需的解决方案,因此我必须检查是否使用 request 方法检查了任何复选框。

所以我的解决方案是: HTML:

...
{% for game in games.items %}
<tr>                
    <td name="ID_GAME" id="ID_GAME">{{ game.ID_GAME}}</td>
    <input type="hidden" name="ID_GAME" value="{{ game.ID_GAME }}" />
    <td name="NM_GAME"> {{ game.NM_GAME}} </td>
    <input type="hidden" name="NM_GAME" value="{{ game.NM_GAME }}" />
    <td name="NR_CRITICSCORE">{{ game.NR_CRITICSCORE}}</td>
    <td>
        <input type="checkbox" id="one_checkbox" name="one_checkbox">
    </td>
</tr>
{% endfor %}

Python:

...
if request.form.getlist('one_checkbox'):
    # Your code here
    print("success!")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多