0

我将在这个问题的开头说我不是在这里寻找代码,只是在我付出大量努力之前表明我的方法是否正确。这就是为什么我还没有尝试自己编写代码的原因。

我正在开发一个包含先例数据库的 django 站点。我想让某些用户使用通用的 CreateView 和使用crispy-forms 构建的 ModelForm 上传新的决策。<option>我想通过从 html字段中删除不相关的选项来使用户尽可能容易地做到这一点。我关心的表格部分看起来有点像:

<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”的所有选项。我怀疑这意味着编写一个类似于这个问题的答案的 javascript 过滤器,但我不知道任何 javascript,因此并不真正理解该代码在做什么。在我承诺学习足够多的 javascript 以确保我产生了一个好的解决方案之前,我只想确定我对如何完成的怀疑是正确的。是吗?我是否错过了使用 Django 或crispy-forms 在 Python 中执行此操作的明显方法?

4

1 回答 1

0

如果您希望在不提交表单和刷新页面的情况下过滤下拉列表,那么唯一的方法就是使用 Javascript。这不是 Django 的限制:这正是 Web 应用程序的工作方式。

于 2013-04-16T15:14:11.030 回答