学习笔记——JAVA

一、重点:

二、学习内容

   

 

昨日遗留问题已解决 三级联动 省市区

第一种方法

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=\, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        <select id="province" onchange="setcity()">
            <option value="default">---请选择---</option>
            <option value="jilin">吉林省</option>
            <option value="liaoning">辽宁省</option>
        </select>
        <select id="city" onchange="setarea()"></select>
        <select id="area"></select>
        <script>
        function setcity(){
            
            let province=document.querySelector("#province").value;
            alert(province)
            // console.log(province)
            let city=document.querySelector("#city");
            let html="";
            if(province=='jilin'){
                html="<option value='cc'>长春市</option><option value='jl'>吉林市</option>";
                city.innerHTML=html;
                setarea();
            }
        }
        function setarea(){
            let city=document.querySelector("#city").value;
            let area=document.querySelector("#area");
            
            switch(city){
                case 'cc':
                area.innerHTML="<option value='ng'>南关区</option><option value='kc'>宽城区</option>";
                break;
                case 'jl':
                area.innerHTML="<option value='cy'>昌邑区</option><option value='cy'>船营区</option>";
                break;    
            
        }
    }
    </script>
    </body>
</html>

  第二种方法

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>

        <style>
            select {
                width: 100px;
                height: 35px;
            }
          .shi_div{
                margin-top: 40px;
                margin-bottom: 40px;
            }
    
        </style>
    </head>
    <body>
        <div class="sheng_div">
            <select class="sheng">
                <option>请选择</option>
            </select>
            <span>省</span>
        </div>
        <div class="shi_div">
            <select class="shi"></select>
            <span>市</span>
        </div>
        <div class="qu_id">
            <select class="qu"></select>
            <span>区</span>
        </div>
        <script>
            var shengSelect = document.querySelector('.sheng');
            var shiSelect = document.querySelector('.shi');
            var quSelect = document.querySelector('.qu');
    
            var shenglist = ['吉林', '辽宁', '黑龙江'];
            var shilist = [['长春', '吉林', '白城'], ['沈阳', '大连', '铁岭'], ['哈尔滨', '齐齐哈尔', '大庆']];
            var qulist = [
                [['南关区', '宽城区', '朝阳区'], ['吉1区', '吉2区', '吉3区'], ['白1区', '白2区', '白3区']],
                [['沈1区', '沈2区', '沈3区'], ['大1区', '大2区', '大3区'], ['铁1区', '铁东2区']],
                [['武1区', '武2区', '武3区'], ['荆1区', '荆2区', '荆3区'], ['襄1区', '襄2区', '襄3区']]
            ];
    
            var index = 0;//下标
    
            //省
            for (var i = 0; i < shenglist.length; i++) {
                var shengOption = new Option(shenglist[i]);
                shengSelect.options.add(shengOption);
            }
    
            //省
            shengSelect.onchange = function (ev) {
                // console.log(ev);
                index = ev.target.selectedIndex - 1;
                // console.log(index);
                if (index == -1) {
                    //选择“请选择”,让市区列表为空
                    shiSelect.options.length = 0;
                    quSelect.options.length = 0;
                } else {
                    //再次作选择时,让市区列表为空,好重新获取市区数据
                    shiSelect.options.length = 0;
                    quSelect.options.length = 0;
                    //在点击省时,给市添加option
                    for (var j = 0; j < shilist.length; j++) {
                        console.log(shilist[index][j]);
                        var shiOption = new Option(shilist[index][j]);
                        shiSelect.options.add(shiOption);
                    }
                    //给区添加option
                    for (var k = 0; k < qulist[index][0].length; k++) {
                        var quOption = new Option(qulist[index][0][k]);
                        quSelect.options.add(quOption);
                    }
                }
            };
    
            //市
            shiSelect.onchange = function (e) {
                var indexs = e.target.selectedIndex;
                //再次选择时,让区的列表为空,重新获取区的数据
                quSelect.options.length = 0;
                //点击市时,给区添加option
                for (var i = 0; i < qulist[index][indexs].length; i++) {
                    var quOption = new Option(qulist[index][indexs][i]);
                    quSelect.options.add(quOption);
                }
            }
    
        </script>
    </body>
</html>

  第三种方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="my.js"></script>
</head>
<body>
    <select  name="sheng" id="sheng" onfocus="setsheng()" onchange="setshi()">    
        <option value="0">---请选择省---</option>
    </select>
    <select name="shi" id="shi" onfocus="setshi()" onchange="setqu()">
       <option value="0">---请选择市---</option>
    </select>
    <select  name="qu" id="qu">
         <option value="0">---请选择区---</option>
    </select>
    <script>
        let sheng = document.getElementById('sheng');
        let shi= document.getElementById('shi');
        let qu = document.getElementById('qu');
        function setsheng(){
            sheng.length = arr.length+1;
            for(let i=1;i<sheng.length;i++){
                sheng[i].innerHTML=arr[i-1].name;
                sheng[i].value=i;
            }
        }
        function setshi(){
            if(sheng.length == 1){
                return;
            }
            shi.value=0;
            let shiList=arr[sheng.value-1].shi;
            shi.length=shiList.length+1;
            for(let i=1;i<shi.length;i++){
                shi[i].innerText=shiList[i-1].name;
                shi[i].value=i;
            }
        }
        function setqu(){
            let quList=arr[sheng.value-1].shi[shi.value-1].districtAndQu;
            console.log(quList);
            qu.length=quList.length+1;
            for(let i=1;i<qu.length;i++){
                qu[i].innerText=quList[i-1];
                qu[i].value=i;
            }
        }

    </script>
</body>
</html>

  my.js

let arr=[
    {
        "name": "吉林省",
        "shi": [
            {
                "name": "长春市",
                "districtAndQu": ["宽城区", "朝阳区"]
            }
            ,{
                "name": "四平市",
                "districtAndQu": ["铁东区", "铁西区"]
            }
        ]
    },
        
    
    {
        "name": "辽宁省",
        "shi": [
            {
                "name": "沈阳市",
                "districtAndQu": ["沈河区","皇姑区"]
            },
            {
                "name": "大连市",
                "districtAndQu": ["中山区","西岗区"]
            }
        ]
    }
]

  

 

 

三、笔记内容

 

 

posted @ 2022-07-13 22:00  LJMMJL  阅读(57)  评论(0)    收藏  举报