【问题标题】:How do I create a filtered Dropdown Choice field in Django using ajax?如何使用 ajax 在 Django 中创建过滤的下拉选择字段?
【发布时间】:2011-06-18 15:23:53
【问题描述】:

我正在尝试创建一个动态过滤下拉选择字段,我浏览了下面的博客,但它令人困惑,任何人都可以建议在 django 中执行此操作的简单方法。

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

如何使用 ajax 在 Django 中创建过滤的下拉选择字段?

【问题讨论】:

    标签: django django-templates django-forms


    【解决方案1】:

    您可以使用 dajaxproject (django+ajax)。示例:http://www.dajaxproject.com/forms/ 就是这么简单。

    【讨论】:

    • 应用程序错误出现... => down?
    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      我只有一小部分需要显示的下拉选项,所以我选择偷懒,不走 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 %}
      

      免责声明:我是菜鸟,所以我可能使用这种方法犯了一个菜鸟失礼。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-11-04
        • 2012-08-03
        • 1970-01-01
        • 2021-11-09
        • 1970-01-01
        • 2021-08-01
        • 2013-10-20
        相关资源
        最近更新 更多