2017-04-03 94 views
0

在FlaskAdmin中,如何禁用一组字段,以便在复选框未勾选时无法编辑这些字段?例如,在这里如果启用不被检查,我想灰化其他字段,以便它们不能被编辑。如果复选框未勾选,则禁用字段

截图: enter image description here

回答

0

在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'); 
    }); 
+0

非常感谢这个艾莉钳工。经过很多研究,我得出了类似的结论。尽管如此,我希望不必再做一堆额外的模板。 – Lorry

+0

他们应该是相对较小的文件。我怀疑这会让你的代码库膨胀太多。 –