原生js實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)

    <!-- 省 -->
    <select name="province" id="province"> </select>
    <!-- 市 -->
    <select name="city" id="city"> </select>
    <!-- 縣 -->
    <select name="county" id="county"> </select>
// 數(shù)據(jù)通常由后臺(tái)返回任内,結(jié)構(gòu)如下:

var citys = [

        { "name": "北京", "city": [{ "name": "北京", "area": ["東城區(qū)", "西城區(qū)", "崇文區(qū)", "宣武區(qū)", "朝陽(yáng)區(qū)", "豐臺(tái)區(qū)", "石景山區(qū)", "海淀區(qū)", "門頭溝區(qū)", "房山區(qū)", "通州區(qū)", "順義區(qū)", "昌平區(qū)", "大興區(qū)", "平谷區(qū)", "懷柔區(qū)", "密云縣", "延慶縣"] }] },
        { "name": "天津", "city": [{ "name": "天津", "area": ["和平區(qū)", "河?xùn)|區(qū)", "河西區(qū)", "南開(kāi)區(qū)", "河北區(qū)", "紅橋區(qū)", "塘沽區(qū)", "漢沽區(qū)", "大港區(qū)", "東麗區(qū)", "西青區(qū)", "津南區(qū)", "北辰區(qū)", "武清區(qū)", "寶坻區(qū)", "寧河縣", "靜海縣", "薊 縣"] }] }
    ]

    // 具體實(shí)現(xiàn)

    // 獲取省
    var province = document.getElementById('province');

    province.options[0] = new Option('請(qǐng)選擇省', -1)

    // 獲取市
    var city = document.getElementById('city');
    city.options[0] = new Option('請(qǐng)選擇市', -1)
    // 獲取縣
    var county = document.getElementById('county');
    county.options[0] = new Option('請(qǐng)選擇縣', -1)

    citys.forEach(function (item, index) {

        // 添加省
        province.options[province.options.length] = new Option(item.name, index);

        // 給省綁定事件
        province.onchange = function () {

            // 獲取選擇的省
            var provinceValue = province.value;

            // 首先清空市和區(qū)縣
            city.options.length = 0;
            city.options[city.options.length] = new Option('請(qǐng)選擇市', -1);
            county.options.length = 0;
            county.options[county.options.length] = new Option('請(qǐng)選擇縣', -1)

            // 判斷是否是‘請(qǐng)選擇’
            if (province.value !== '-1') {

                // 然后給對(duì)應(yīng)的省添加市
                citys[provinceValue].city.forEach(function (item, index) {
                    city.options[city.options.length] = new Option(item.name, index);

                    // 給市綁定事件
                    city.onchange = function () {

                        // 獲取選擇的市
                        var cityValue = city.value;

                        // 清空縣
                        county.options.length = 0;
                        county.options[county.options.length] = new Option('請(qǐng)選擇縣', -1);

                        // 判斷選擇的市是否是‘請(qǐng)選擇’
                        if (cityValue !== '-1') {

                            // 設(shè)置市對(duì)應(yīng)的縣
                            citys[provinceValue].city[cityValue].area.forEach(function (item, index) {
                                county.options[county.options.length] = new Option(item, index);
                            })
                        }
                    }
                })
            }
        }
    })
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市击敌,隨后出現(xiàn)的幾起案子削锰,更是在濱河造成了極大的恐慌巧勤,老刑警劉巖粘室,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缺厉,死亡現(xiàn)場(chǎng)離奇詭異栓辜,居然都是意外死亡恋拍,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門藕甩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)施敢,“玉大人,你說(shuō)我怎么就攤上這事狭莱〗┩蓿” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵腋妙,是天一觀的道長(zhǎng)默怨。 經(jīng)常有香客問(wèn)我,道長(zhǎng)骤素,這世上最難降的妖魔是什么匙睹? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任愚屁,我火速辦了婚禮,結(jié)果婚禮上痕檬,老公的妹妹穿的比我還像新娘集绰。我一直安慰自己,他們只是感情好谆棺,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布栽燕。 她就那樣靜靜地躺著,像睡著了一般改淑。 火紅的嫁衣襯著肌膚如雪碍岔。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 50,050評(píng)論 1 291
  • 那天朵夏,我揣著相機(jī)與錄音蔼啦,去河邊找鬼。 笑死仰猖,一個(gè)胖子當(dāng)著我的面吹牛捏肢,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播饥侵,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼鸵赫,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了躏升?” 一聲冷哼從身側(cè)響起辩棒,我...
    開(kāi)封第一講書(shū)人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎膨疏,沒(méi)想到半個(gè)月后一睁,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡佃却,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年者吁,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饲帅。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡复凳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出洒闸,到底是詐尸還是另有隱情染坯,我是刑警寧澤均芽,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布丘逸,位于F島的核電站,受9級(jí)特大地震影響掀宋,放射性物質(zhì)發(fā)生泄漏深纲。R本人自食惡果不足惜仲锄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望湃鹊。 院中可真熱鬧儒喊,春花似錦、人聲如沸币呵。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)余赢。三九已至芯义,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間妻柒,已是汗流浹背扛拨。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留举塔,地道東北人绑警。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓玉锌,卻偏偏與公主長(zhǎng)得像胖眷,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子藏杖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容