如何使用ajax在Django中创建过滤的Dropdown Choice字段?

时间:2011-01-31 14:45:45

标签: django django-templates django-forms

我正在尝试创建一个动态过滤的下拉选项字段,我在博客下面进行了讨论,但令人困惑的是,任何人都可以建议在django中执行此操作。

我正在尝试在Django中创建一个动态过滤的下拉选择字段。我试过the steps outlined here,但我不明白。

如何使用ajax在Django中创建过滤的Dropdown Choice字段?

3 个答案:

答案 0 :(得分:5)

您可以使用dajaxproject(django + ajax)。示例:http://www.dajaxproject.com/forms/这很容易。

答案 1 :(得分:0)

也许你的意思是这样的? http://code.google.com/p/django-ajax-selects/

我在几个项目中实现了这一点,并且它运行良好。如果您正在寻找一种外键搜索表单,请查看我几周前开始使用的应用程序:

https://github.com/schneck/django-foreignkeysearch

答案 2 :(得分:0)

我只需要显示一小部分下拉选项,所以我选择了懒惰而不是去Ajax路线,而是使用博客中提供的初始示例(他的原型)。如果您有许多下拉选项,这将减慢呈现页面的速度,这是我没有的。

它对我有用的方式是我替换了数组:

modelstxt[1] = "1\tEscort\n2\tTaurus";
modelstxt[2] = "1\tAltima\n2\tMaxima";

使用模板标签在构建页面时创建相同的数组(注意我使用位置和区域,而不是模型和制作):

areastxt[0] = "0\t--";
{% for location in locations %}
   areastxt[{{location.id}}] = "0\t--
   {% for area in areas %}
      {% if area.location_id == location.id %}
         \n{{area.id}}\t{{area.name}}
      {% endif %}
   {% endfor %}";
{% endfor %}

免责声明:我是noob'ish,所以我可能会使用这种方法做出noob faux-pas。