Jquery+Ajax+xml實(shí)現(xiàn)中國(guó)地區(qū)選擇三級(jí)聯(lián)動(dòng)菜單效果(推薦)
本文主要介紹使用 Jquery+Ajax+xml,首先需要一個(gè)包含我國(guó)所有地圖信息的xml文檔。
此處選用的xml文檔(共1000多行)主要結(jié)構(gòu)如下:
<?xml version="1.0" encoding="utf-8"?> <area Country="China"> <province ID="1" provinceID="110000" province="北京市"> <City CityID="110100" City="市轄區(qū)"> <Piecearea PieceareaID="110101" Piecearea="東城區(qū)" /> <Piecearea PieceareaID="110102" Piecearea="西城區(qū)" /> <Piecearea PieceareaID="110103" Piecearea="崇文區(qū)" /> <Piecearea PieceareaID="110104" Piecearea="宣武區(qū)" /> <Piecearea PieceareaID="110105" Piecearea="朝陽(yáng)區(qū)" /> <Piecearea PieceareaID="110106" Piecearea="豐臺(tái)區(qū)" /> <Piecearea PieceareaID="110107" Piecearea="石景山區(qū)" /> <Piecearea PieceareaID="110108" Piecearea="海淀區(qū)" /> <Piecearea PieceareaID="110109" Piecearea="門頭溝區(qū)" /> <Piecearea PieceareaID="110111" Piecearea="房山區(qū)" /> <Piecearea PieceareaID="110112" Piecearea="通州區(qū)" /> <Piecearea PieceareaID="110113" Piecearea="順義區(qū)" /> <Piecearea PieceareaID="110114" Piecearea="昌平區(qū)" /> <Piecearea PieceareaID="110115" Piecearea="大興區(qū)" /> <Piecearea PieceareaID="110116" Piecearea="懷柔區(qū)" /> <Piecearea PieceareaID="110117" Piecearea="平谷區(qū)" /> </City> <province>
制作對(duì)應(yīng)的表單,根據(jù)設(shè)置選擇省/市的動(dòng)作:
<h2>地區(qū)三級(jí)聯(lián)動(dòng)菜單</h2> 省:<select id="province" onchange="showcity()"><option value="0">-請(qǐng)選擇-</option></select> 市:<select id="city" onchange="showdistrict()"><option value="0">-請(qǐng)選擇-</option></select> 地區(qū):<select id="district"><option value="0">-請(qǐng)選擇-</option></select>
以下是JS代碼行
//聲明一個(gè)全局變量,用于存儲(chǔ)第一次請(qǐng)求的xml信息,避免后續(xù)多次頻繁請(qǐng)求xml var xmldom =null; //獲取并顯示省份信息 function showprovince(){ //使用ajax去服務(wù)器獲得xml文件里面的省份信息 $.ajax({ url:'./ChinaArea.xml', //data: dataType:'xml',//相當(dāng)于調(diào)用responseXML type:'get', success:function(msg){ //將返回的xml信息賦予xmldom xmldom = msg; //獲得province 元素節(jié)點(diǎn)對(duì)象 var prov = $(msg).find('province'); //遍歷省份信息 prov.each(function(k,v){ var nm = $(this).attr('province'); var id = $(this).attr('provinceID'); //追加到指定的節(jié)點(diǎn) $('#province').append("<option value="+id+">"+nm+"</option>"); }); } }); } //網(wǎng)頁(yè)加載顯示省份信息 $(function(){ showprovince(); }); function showcity(){ //獲取 省份 的id var pid = $('#province option:selected').val(); //根據(jù)xmldom信息 找到指定的省份節(jié)點(diǎn) var xml_province = $(xmldom).find('province[provinceID='+pid+']'); // 獲取對(duì)應(yīng)所有縣市節(jié)點(diǎn) var city = $(xml_province).find('City'); //在遍歷追加前,先清空此前已經(jīng)顯示的信息 $('#city').empty(); $('#city').append('<option value="0">-請(qǐng)選擇-</option>'); //遍歷追加縣市 city.each(function(k,v){ var nm = $(this).attr('City'); var id = $(this).attr('CityID'); $('#city').append('<option value='+id+'>'+nm+'</option>'); }); } //以下函數(shù)的邏輯與showcity()的邏輯一致 function showdistrict(){ //獲取 縣市 的id var cid = $('#city option:selected').val(); //根據(jù)xmldom信息 找到指定的縣市節(jié)點(diǎn) var xml_city = $(xmldom).find('City[CityID='+cid+']'); // 獲取對(duì)應(yīng)所有地區(qū)節(jié)點(diǎn) var district = $(xml_city).find('Piecearea'); $('#district').empty(); $('#district').append('<option value="0">-請(qǐng)選擇-</option>'); district.each(function(k,v){ var nm = $(this).attr('Piecearea'); var id = $(this).attr('PieceareaID'); $('#district').append('<option value='+id+'>'+nm+'</option>'); }); }
以上這篇Jquery+Ajax+xml實(shí)現(xiàn)中國(guó)地區(qū)選擇三級(jí)聯(lián)動(dòng)菜單效果(推薦)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- jquery+ajax實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)效果簡(jiǎn)單示例
- jQuery實(shí)現(xiàn)的省市縣三級(jí)聯(lián)動(dòng)菜單效果完整實(shí)例
- 基于jQuery+JSON的省市二三級(jí)聯(lián)動(dòng)效果
- 中國(guó)地區(qū)三級(jí)聯(lián)動(dòng)下拉菜單效果分析
- jquery讀取xml文件實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)的方法
- jQuery ajax實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)
- 省市區(qū)三級(jí)聯(lián)動(dòng)jquery實(shí)現(xiàn)代碼
相關(guān)文章
jquery ezUI 雙擊行記錄彈窗查看明細(xì)的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猨query ezUI 雙擊行記錄彈窗查看明細(xì)的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06jQuery插件分享之分頁(yè)插件jqPagination
jqPagination 是一個(gè)簡(jiǎn)單易用的輕量級(jí) jQuery分頁(yè)插件,其使用了 HTML5 和 CSS3 技術(shù)來實(shí)現(xiàn)。此插件提供了幾個(gè)參數(shù)設(shè)置選項(xiàng),通過簡(jiǎn)單的配置即可生成分頁(yè)控件。此外,它的外觀樣式是可自定義的,擴(kuò)展性很強(qiáng)。2014-06-06ztree實(shí)現(xiàn)權(quán)限橫向顯示功能
最近在做權(quán)限功能的時(shí)候,采用的ztree實(shí)現(xiàn)的,但是產(chǎn)品要求最后一層的權(quán)限節(jié)點(diǎn)要橫向顯示。下面小編把基于ztree實(shí)現(xiàn)權(quán)限橫向顯示功能的實(shí)現(xiàn)思路分享給大家,供大家參考2017-05-05JavaScript/jQuery、HTML、CSS 構(gòu)建 Web IM 遠(yuǎn)程及時(shí)聊天通信程序
這篇文章主要介紹用JavaScript和jQuery、HTML、CSS以及用第三方聊天JavaScript(jsjac)框架構(gòu)建一個(gè)BS Web的聊天應(yīng)用程序。此程序可以和所有連接到Openfire服務(wù)器的應(yīng)用進(jìn)行通信、發(fā)送消息。如果要運(yùn)行本程序還需要一個(gè)聊天服務(wù)器Openfire2012-08-08淺析jQuery(function(){})與(function(){})(jQuery)之間的區(qū)別
本篇文章主要是對(duì)jQuery(function(){})與(function(){})(jQuery)之間的區(qū)別進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2014-01-01jquery和js實(shí)現(xiàn)對(duì)div的隱藏和顯示方法
jquery和js分別可以實(shí)現(xiàn)對(duì)div的隱藏和顯示,方法也不一樣,jquery的show、show;js的hidden、visible2014-09-09