真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

django+jquery實現(xiàn)二級聯(lián)動-創(chuàng)新互聯(lián)

我是一個django新手,想寫一個省市的二級聯(lián)動,結(jié)果在網(wǎng)上找了N久,要么是不全,要么是太復(fù)雜看不懂,最終實現(xiàn)了二級聯(lián)動,分享給django web開發(fā)新手。

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),扎賚特企業(yè)網(wǎng)站建設(shè),扎賚特品牌網(wǎng)站建設(shè),網(wǎng)站定制,扎賚特網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,扎賚特網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

參考博客http://sarlmolapple.is-programmer.com/posts/25844.html文中部分代碼為該博客中復(fù)制

第一步:創(chuàng)建project和app這里就不寫了,相信只要是剛開始接觸django的都能知道如何創(chuàng)建,我這里的ProjectName是testccc,AppName是app

第二步:創(chuàng)建model(app/models.py)并插入數(shù)據(jù),插入數(shù)據(jù)就不啰嗦了

from django.db import models
class Province(models.Model):
   provinceName = models.CharField(max_length = 20)
class City(models.Model):
   cityName = models.CharField(max_length = 20)
   provinceID = models.ForeignKey(Province)

第三步:創(chuàng)建form(app/forms.py)

#coding=utf8
from django import forms
from .models import *
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'}), label = u'選擇市')
    #如果需要3級聯(lián)動,在city中也添加onChange參數(shù)指定就jquery函數(shù)

第四步:創(chuàng)建模版(app/templates/test.html)



    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

        `form`

第五步:創(chuàng)建view函數(shù)(app/views.py)

from django.shortcuts import render_to_response
from django.http import HttpResponse
from testccc.app.models import *
from testccc.app.forms import *
# 1.5以前的版本
from django.utils import simplejson
# 1.5以后的版本
import json
def city_list(request,provinceID):
    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)
    # 1.5以前的版本
    return HttpResponse(simplejson.dumps(city_list), mimetype='application/json')
    # 1.5以后的版本
    return HttpResponse(json.dumps(city_list), mimetype='application/json')
def test(request):
    form = myForm()
    return render_to_response('test.html',locals())

第六步:創(chuàng)建url (usrs.py)

urlpatterns = patterns('',
    #由于在html模版中調(diào)用了靜態(tài)jquery.js文件,所以首先需要在url中指定js靜態(tài)文件的路徑,這個路徑也可以用來調(diào)用css和img文件
    url(r'^js/(?P.*)$', 'django.views.static.serve', {'document_root': '//root/workspace/testccc/testccc/static/js'}),
    #js函數(shù)調(diào)用的url
    url(r'^getcitylist/(.*)$','testccc.app.views.city_list'),
    url(r'^test/$','testccc.app.views.test'),
)

第七步:啟動并測試

訪問 http://localhost/test

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


文章標(biāo)題:django+jquery實現(xiàn)二級聯(lián)動-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://weahome.cn/article/dcpejs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部