我将在这个问题前面说我不是在寻找代码,只是在我付出巨大努力之前表明我的方法是否正确。这就是为什么它似乎我还没有尝试自己编码。
我正在开发一个包含先例数据库的django网站。我想让某些用户使用通用CreateView和使用crispy-forms构建的ModelForm上传新决策。我想通过从html <option>
字段中删除不相关的选项,使用户尽可能轻松。我关注的形式部分看起来有点像:
<select class="input-xlarge select" id="id_decisions" name="clauses">
<option value="" selected="selected">---------</option>
<option value="1">2012 Decisions</option>
<option value="2">2011 Decisions</option>
...
</select>
<select class="input-xlarge select" id="id_clauses" name="clauses">
<option value="" selected="selected">---------</option>
<option value="1">2012 clause 1</option>
<option value="2">2012 clause 2</option>
<option value="3">2011 clause 1</option>
...
</select>
当有人从下拉列表中选择2012 decisions
时,我想过滤掉'子句'选项字段中不说'2012'的所有选项。我怀疑这意味着编写类似于this question中的答案的javascript过滤器,但我不知道任何javascript,因此不能真正理解该代码在做什么。在我开始学习足够的javascript以确保我提供一个好的解决方案之前,我只想确定我对如何做到这一点的怀疑是正确的。是吗?我是否错过了使用Django或crispy-forms在Python中执行此操作的明显方法?
答案 0 :(得分:0)
如果您希望在不提交表单和刷新页面的情况下过滤下拉列表,那么仅方式可以使用Javascript。这不是Django的限制:这就是Web应用程序的工作方式。