【问题标题】:Disable fields if checkbox not ticked如果未选中复选框,则禁用字段
【发布时间】:2023-03-16 13:33:01
【问题描述】:

在 FlaskAdmin 中,如何禁用一组字段,以便在未选中复选框时无法编辑它们?比如这里如果没有勾选启用,我想把其他字段灰掉,这样就不能编辑了。

截图:

【问题讨论】:

    标签: python flask flask-admin


    【解决方案1】:

    粗略浏览了 FlaskAdmin 文档和本网站上的类似问题后,似乎没有明确的方法来完成此操作。 (我可能是错的,因为我没有使用过这个扩展。)尽管如此,你可以在 JavaScript 中完成这个。在您的 Jinja 中,您可以pretty easily 在您的字段上设置一个类,然后可以使用该类在 JavaScript 中选择元素。这是一个非常粗略的例子。

    神社

    {{ field(class_="checkbox") }}
    {{ field(class_="input") }}
    {{ field(class_="input") }}
    {{ field(class_="input") }}
    

    JQuery

    $('body').off('change.checkbox')
        .on('.checkbox', 'change.checkbox', function(e) {
            if (this.checked) {
                return $('.input').attr('disabled', '');
            }
            return $('.input').removeAttr('disabled');
        });
    

    【讨论】:

    • 非常感谢 Allie Fitter。经过大量研究,我得出了类似的结论。不过,我希望不必做一堆额外的模板。
    • 它们应该是相对较小的文件。我怀疑它会让你的代码库膨胀太多。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-11
    • 2022-01-19
    • 1970-01-01
    • 2013-05-31
    • 2020-06-22
    • 2015-11-03
    相关资源
    最近更新 更多