【发布时间】:2019-06-08 14:21:10
【问题描述】:
我的网站上有 2 个复选框。其中之一让我有机会(或不)点击(更改状态)第二个。因此,如果选中第一个复选框,我可以更改第二个复选框的状态,但如果未选中第一个复选框,则我不能(复选框已禁用)。
所以我在 html 中(使用 django python)编写了简单的 if/else 语句,它看起来像:
{% if first.value %}
{% if second.value %}
<input id="myCheck" type="checkbox" checked="checked">
{% else %}
<input id="myCheck" type="checkbox">
{% endif %}
{% else %}
{% if second.turnOnOff %}
<input id="myCheck" type="checkbox" disabled="disabled" checked="checked">
{% else %}
<input id="myCheck" type="checkbox" disabled="disabled">
{% endif %}
{% endif %}
也许你们中的一些人很困惑,为什么我有第二个复选框的 if 语句,我只是从数据库中检查他的最后一个值以知道它是 True 还是 False。我检查了该代码,但效果不佳。我的意思是,如果我在第一个复选框的每次更改状态后刷新页面,它可以工作,但应该一直工作,而不是一直刷新页面。我做错了什么?
更新
在一些 cmets 之后,我尝试了另一种解决方案 - 使用 javascript。所以我创建了简单的 JS 函数
function change()
{
if (document.getElementById("myCheck").isDisabled) {
document.getElementById("myCheck").disabled = false;
}
else {
document.getElementById("myCheck").disabled = true;
}
}
并使用第一个复选框更改部分以调用它。现在它有效,但仅适用于第一次通话。我的意思是当我禁用复选框时,我无法启用它
【问题讨论】:
-
您正在尝试将 python/django 用于您应该使用 javascript 的东西。 JS 将成为使网页动态和交互的工具。我不认为 django 可以像你试图做的那样动态地改变 DOM。
-
@SuperStew 请查看我使用 JS 的更新
标签: python html django checkbox