【问题标题】:Django Jquery: based on selection, display further selection optionsDjango Jquery:基于选择,显示更多选择选项
【发布时间】:2012-03-27 19:36:46
【问题描述】:
用户必须选择一种车辆类型,然后根据他的选择,他可以选择车辆型号,然后根据该选择,他可以选择查看该型号可用的特定颜色。
每个车辆、模型和颜色都有单独的 django 模型,其中每个车辆实例有许多模型(多对多字段),每个模型都有颜色(多对多字段)。
您将如何创建模板以便用户能够动态执行此操作?我不想被重定向到不同的视图。我想我需要使用 jquery 以便用户可以从下拉框中选择车辆,然后根据他的选择出现另一个下拉框等等。
有什么想法吗?
【问题讨论】:
标签:
jquery
django
django-models
django-templates
jquery-click-event
【解决方案1】:
我的方法是使用 ajax 来动态更改选择框的内容。有很多方法可以实现这一点。这是一个……
- 创建 3 个选择框(车辆、模型、颜色)
- 用所有空白条目和所有车辆填充第一个
- 捕获车辆和模型的 onchange 事件并创建相应的 javascript 函数。
这里是vehicleChange函数的sudo代码:
- 清除所有模型选择选项
- 清除所有颜色选择选项
- 使用 ajax 从服务器获取模型选择选项
- 填充模型选择框。
这是modelChange函数的sudo代码:
- 清除颜色选择选项
- 使用 ajax 从服务器获取颜色选择选项
- 填充颜色选择框。
所以现在发生的事情是:
要更改选择框中的选项,您可以使用 jquery 抓取选择框并将 html 替换为 ajax 调用的结果。