最近在做一个基于django框架的项目,需要实现级联选择菜单,比如省-市-区,记录下来,希望能帮助碰到同样问题的人。

--------------------------------------------------------------------------------------------

无代码无真相,直接上代码:

js代码:

function getCityOptions(province_id){

$.ajax({

type: "GET",

url: "/getCityList?provinceID="+province_id,

dataType:'json',

success: function(data,textStatus){

var citySelect = document.getElementById("id_city");

for ( var i=citySelect.options.length-1; i>-1; i--){

citySelect[i] = null;

}

if(data.length > 0) {

$("#id_city").show();

for(i=0;i

citySelect.options[i] = new Option();

citySelect.options[i].text = data[i].label;

citySelect.options[i].value = data[i].text;

}

}else

$("#id_city").hide();

}

})

}

模板代码:

省市:

{{form.province}}

{{form.city}}

Form.py:

provinces = Province.objects.all()

PROVINCE_CHOICES = []

for province in provinces:

PROVINCE_CHOICES.append([province.id, province.provinceName])

class myForm(forms.Form): province = forms.ChoiceField(widget = forms.Select(attrs={'class':'select', 'onChange':'getCityOptions(this.value)'}), choices = PROVINCE_CHOICES, label= u'选择省') city = forms.ChoiceField(widget = forms.Select(attrs={'class':'select', 'onChange':'getDistrictOptions(this.value)','style':'display:none'}), label = u'选择市')

model.py:

class Province(models.Model):

provinceName = models.CharField(max_length = 20)

class City(models.Model):

cityName = models.CharField(max_length = 20)

provinceID = models.ForeignKey(Province)

view.py

def city_list(request):

city_list = []

province = request.GET['provinceID']

citys = City.objects.filter(provinceID = province)

for city in citys:

c = {}

c['label'] = city.cityName

c['text'] = city.id

city_list.append(c)

return HttpResponse(simplejson.dumps(city_list), mimetype='application/json')

django orm级联_django+jquery 实现级联选择菜单相关推荐

  1. django orm原理_django 动态创建一个模型的多个table name, 并通过 Django ORM 操作

    动态创建table, 并通过 Django ORM 操作. 动态的创建表 动态的创建模型其实就是在运行时生成 Model 类, 这个可以通过函数实现, 通过传参(今天的日期, 如: 20181211) ...

  2. html级联选择器,jquery实现 级联选择器

    看到UI在做设计图 有级联选择器 就先写写 (项目还在用jquery~~~~~~) 先上效果图 css .box{ position: relative; width: 800px; height: ...

  3. django orm级联_Django数据表关联关系映射(一对一、一对多、多对多)

    我们知道涉及到数据表之间的对应关系就会想到一对一.一对多.多对多,在学习 MySQL 数据库时表关系设计是需要重点掌握的知识.Django 中定义了三种关系类型的字段用来描述数据库表的关联关系:一对多 ...

  4. 使用json 和jQuery制作级联dropdownlist

    联动式的下拉选择是一个很普遍的需求,在ASP.NET MVC中可以使用Json和jQuery来实现,更简单的是使用jQuery的级联插件CascadingDropDown ,具体参见文章http:// ...

  5. 城市地区级联二级下拉选择菜单js特效

    城市地区级联二级下拉选择菜单js特效:城市级联选择,js地区选择.js特效 <script type="text/javascript">var pc = new Ar ...

  6. 第四十四章 Django ORM

    1. 路由系统   def test():    pass   url(r'^test$', test)      创建app:    python3 mange.py startapp app名称 ...

  7. Django ORM

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  8. django orm基本操作一

    一.Django–ORM表设计格式(个人) 1.一对一建立外键 不同于django如需扩展原user表,将外键建在副表上.我更喜欢将外键建在主表上 外键名称 = models.OneToOneFiel ...

  9. Django ORM 知识点总结

    Query是如何工作的 Django QuerySet是懒执行的,只有访问到对应数据的时候,才会去访问数据库.另外如果你再次读取查询到的数据,将不会触发数据库的访问,而是直接从缓存获取. 比如 # 这 ...

最新文章

  1. Linux性能研究(总)
  2. java calendar.add方法_Java Calendar add()方法与示例
  3. Gulp 之图片压缩合并
  4. 真执着 卡巴斯基和Palo Alto找到了BlackEnergy和ExPetr的相似代码
  5. Java的深度:通过协方差暴露的API泄漏
  6. 角标越界 Java_【新人求助】利用占位符操作数据库是总是提示数组角标越界是怎么回事 - Java论坛 - 51CTO技术论坛_中国领先的IT技术社区...
  7. java解决XSS攻击常用方法总结
  8. GDB中创建要素数据集
  9. 冷知识 —— 计算机科学及编程
  10. 遗传算法的基本原理和方法
  11. 算法注册机编写扫盲---第二课
  12. 技术干货|如何在微服务架构下构建高效的运维管理平台?
  13. 全球及中国钒氧化物行业发展前景与投资策略分析报告2022-2028年
  14. 【JY】流体力学之牛顿流体和非牛顿流体
  15. c语言程序输入自己班级学号,找高手帮忙c语言程序::输入一个班10个学生的学号和每个学生考试三门功课(数学、英语、计算机基础)的成绩...
  16. 量化新手初识Brinson绩效分解模型
  17. matlab中画出3d船舶,船舶运动仿真中航迹与船形图的应用(上)
  18. 纺织服装行业数字化供应商协同平台:优化企业供应网络,轻松选择优质供应商
  19. Windows编程01_应用程序分类,开发工具和库,第一个Windows程序,字符编码
  20. 学校计算机教研组会议记录,教研组会议记录3篇精选范文

热门文章

  1. 使用 NuGet 管理我们的程序集 - 预发行版
  2. Linux下C程序插入执行shell脚本
  3. 告诉大家一个------无敌命令
  4. 设计模式总结之Composite Pattern(组合模式)
  5. kthread_run创建内核线程的原理
  6. 预训练模型:BERT深度解析《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》
  7. 波卡链Substrate (6)Babe协议一“基本概念”
  8. 区块链BaaS云服务(33)印度国家支付 Vajra Platform
  9. 百度超级链XChain(5)XuperBridge 智能合约接口
  10. 机器学习(六)——优化器