代碼部分
先看HTML代碼:
MHZG.NET-城市三級聯動實例 combobox.js:
上述代碼中,如果在ComboBox直接定義store數據源,會出現這樣一種情況,那就是當選擇完第一個省,點擊第二個市的時候,會閃一下,再點擊,才會出現市的數據。那么要解決這樣的情況,那么必須先要定義好省、市、區的數據源。那么再點擊的時候,就不會出現上述情況了。
代碼中,使用store為省的數據,設置其autoLoad為true,那么頁面第一次加載的時候,就會自動加載省的數據,然后給省和市添加了監聽select,作用在于當點擊省的時候,要清空市和區的數據,并根據當前選定的值去加載對應的數據到市的數據源中。當然store1和store2原理是一樣的。
最后,服務端要根據傳的值進行數據檢索及返回正確數據,這里沒有從數據庫中查詢數據,而只是簡單的寫了一些測試代碼,相信extjs代碼沒有任何的問題了,那么服務端返回數據,就不是一件很重要的事情了。
City.asp:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% Response.ContentType = "text/html" Response.Charset = "UTF-8" %> <% Dim act:act = Request("act") Dim param : param = Request("param") If act = "sheng" Then Response.Write("[") Response.Write("{""cname"":""北京市"",""id"":""110000""},") Response.Write("{""cname"":""內蒙古自治區"",""id"":""150000""}") Response.Write("]") End If If act = "shi" Then If param = "110000" Then Response.Write("[") Response.Write("{""cname"":""市轄區"",""id"":""110100""},") Response.Write("{""cname"":""市轄縣"",""id"":""110200""}") Response.Write("]") ElseIf param = "150000" Then Response.Write("[") Response.Write("{""cname"":""呼和浩特市"",""id"":""150100""},") Response.Write("{""cname"":""包頭市"",""id"":""150200""}") Response.Write("]") End If End If If act = "qu" Then If param = "110100" Then Response.Write("[") Response.Write("{""cname"":""朝陽區"",""id"":""110101""},") Response.Write("{""cname"":""昌平區"",""id"":""110102""}") Response.Write("]") ElseIf param = "110200" Then Response.Write("[") Response.Write("{""cname"":""密云縣"",""id"":""110201""},") Response.Write("{""cname"":""房山縣"",""id"":""110202""}") Response.Write("]") ElseIf param = "150100" Then Response.Write("[") Response.Write("{""cname"":""回民區"",""id"":""150101""},") Response.Write("{""cname"":""新城區"",""id"":""150102""}") Response.Write("]") ElseIf param = "150200" Then Response.Write("[") Response.Write("{""cname"":""青山區"",""id"":""150201""},") Response.Write("{""cname"":""東河區"",""id"":""150202""}") Response.Write("]") End If End If %>聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com