django orm级联_django+jquery 实现级联选择菜单
最近在做一个基于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 实现级联选择菜单相关推荐
- django orm原理_django 动态创建一个模型的多个table name, 并通过 Django ORM 操作
动态创建table, 并通过 Django ORM 操作. 动态的创建表 动态的创建模型其实就是在运行时生成 Model 类, 这个可以通过函数实现, 通过传参(今天的日期, 如: 20181211) ...
- html级联选择器,jquery实现 级联选择器
看到UI在做设计图 有级联选择器 就先写写 (项目还在用jquery~~~~~~) 先上效果图 css .box{ position: relative; width: 800px; height: ...
- django orm级联_Django数据表关联关系映射(一对一、一对多、多对多)
我们知道涉及到数据表之间的对应关系就会想到一对一.一对多.多对多,在学习 MySQL 数据库时表关系设计是需要重点掌握的知识.Django 中定义了三种关系类型的字段用来描述数据库表的关联关系:一对多 ...
- 使用json 和jQuery制作级联dropdownlist
联动式的下拉选择是一个很普遍的需求,在ASP.NET MVC中可以使用Json和jQuery来实现,更简单的是使用jQuery的级联插件CascadingDropDown ,具体参见文章http:// ...
- 城市地区级联二级下拉选择菜单js特效
城市地区级联二级下拉选择菜单js特效:城市级联选择,js地区选择.js特效 <script type="text/javascript">var pc = new Ar ...
- 第四十四章 Django ORM
1. 路由系统 def test(): pass url(r'^test$', test) 创建app: python3 mange.py startapp app名称 ...
- Django ORM
Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...
- django orm基本操作一
一.Django–ORM表设计格式(个人) 1.一对一建立外键 不同于django如需扩展原user表,将外键建在副表上.我更喜欢将外键建在主表上 外键名称 = models.OneToOneFiel ...
- Django ORM 知识点总结
Query是如何工作的 Django QuerySet是懒执行的,只有访问到对应数据的时候,才会去访问数据库.另外如果你再次读取查询到的数据,将不会触发数据库的访问,而是直接从缓存获取. 比如 # 这 ...
最新文章
- Linux性能研究(总)
- java calendar.add方法_Java Calendar add()方法与示例
- Gulp 之图片压缩合并
- 真执着 卡巴斯基和Palo Alto找到了BlackEnergy和ExPetr的相似代码
- Java的深度:通过协方差暴露的API泄漏
- 角标越界 Java_【新人求助】利用占位符操作数据库是总是提示数组角标越界是怎么回事 - Java论坛 - 51CTO技术论坛_中国领先的IT技术社区...
- java解决XSS攻击常用方法总结
- GDB中创建要素数据集
- 冷知识 —— 计算机科学及编程
- 遗传算法的基本原理和方法
- 算法注册机编写扫盲---第二课
- 技术干货|如何在微服务架构下构建高效的运维管理平台?
- 全球及中国钒氧化物行业发展前景与投资策略分析报告2022-2028年
- 【JY】流体力学之牛顿流体和非牛顿流体
- c语言程序输入自己班级学号,找高手帮忙c语言程序::输入一个班10个学生的学号和每个学生考试三门功课(数学、英语、计算机基础)的成绩...
- 量化新手初识Brinson绩效分解模型
- matlab中画出3d船舶,船舶运动仿真中航迹与船形图的应用(上)
- 纺织服装行业数字化供应商协同平台:优化企业供应网络,轻松选择优质供应商
- Windows编程01_应用程序分类,开发工具和库,第一个Windows程序,字符编码
- 学校计算机教研组会议记录,教研组会议记录3篇精选范文
热门文章
- 使用 NuGet 管理我们的程序集 - 预发行版
- Linux下C程序插入执行shell脚本
- 告诉大家一个------无敌命令
- 设计模式总结之Composite Pattern(组合模式)
- kthread_run创建内核线程的原理
- 预训练模型:BERT深度解析《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》
- 波卡链Substrate (6)Babe协议一“基本概念”
- 区块链BaaS云服务(33)印度国家支付 Vajra Platform
- 百度超级链XChain(5)XuperBridge 智能合约接口
- 机器学习(六)——优化器