省份地区三级联动的简单实现

在此直接导入代码,详细内容代码中有注释,相应需要引入的文件大家可以自己到相应网站下载:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <!--省份-->
        <select id="province" name="province">

                    </select>

                    <!--城市-->
                    <select id="citys" name="city">
                        <option id=‘false‘>所在城市</option>
                    </select>

                    <!--地区-->
                    <select id="dist" class="clear-Mar" name="district">
                        <option value="0">所在区</option>
                    </select>

    <script src="./js/jquery-2.1.0.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">

     var sltProvince=document.getElementById(‘province‘)
//      console.log(sltProvince.childNodes)
        //获得城市下拉框的对象
        //var sltCity=document.forms[0].city;
    var sltCity=document.getElementById(‘citys‘)
    //获得市区下拉框的对象
    //var sltDistrict=document.forms[0].district;
    var sltDistrict=document.getElementById(‘dist‘)

        //ajax请求本地json文件数据,并添加到指定的位置
        $(document).ready(function () {
        $.ajax({
            url: ‘./js/province.json‘,
            async: false,
            success: function (res) {

                //console.log(res)
                var sheng = res
                var text_sh = `<option id=‘false‘>所在省份</option>`
                for(var i=0;i<sheng.length;i++){
//                    console.log(sheng[i][‘text‘])
                    var sh = sheng[i][‘text‘]
                    var sid = sheng[i][‘value‘]

                    tt = `<option id="${sid}">${sh}</option>`
                    text_sh = text_sh+tt

                }

                $(‘#province‘).html(text_sh)
            }
        });
    });

sltProvince.onchange=function(eve){
    //成功获取被点击的option标签的id
//    console.log($(this).find("option:checked").attr("id"))
    var optionId=$(this).find("option:checked").attr("id")

    $(document).ready(function () {
        $.ajax({
            url: ‘./js/city.json‘,
            async: false,
            success: function (res) {
                var city = res
//                console.log(‘城市‘,city)

                var text_city = ``

                 //循环json对象形式的数据方法
                for(var key in city){

                    console.log(‘单个city‘,key,city[key])
                    //console.log(key==optionId)
                    //判断省id对应city的id是否一致
                    if(key==optionId){
                        for(i=0;i<city[key].length;i++){
                        var s_city = city[key][i][‘text‘]
                        var s_sid = city[key][i][‘value‘]
//                        console.log(123,s_city)

                        tt = `<option id="${s_sid}">${s_city}</option>`
                        text_city = text_city+tt
                        }
//                        console.log(45556,text_city)
                        $(‘#citys‘).html(text_city)
                    }
//                    else{
//                        console.log(‘不存在‘)
//                    }

                }

            }
        });
    });

}
sltCity.onchange=function(eve){

    //成功获取被点击的option标签的id
    console.log($(this).find("option:checked").attr("id"))
    var optionId=$(this).find("option:checked").attr("id")

    $(document).ready(function () {
        $.ajax({
            url: ‘./js/dists.json‘,
            async: false,
            success: function (res) {
                var city = res
//                console.log(‘城市‘,city)
                var text_city = ``

                 //循环json对象形式的数据方法
                for(var key in city){

//                    console.log(‘单个city‘,key,city[key])
                    //console.log(key==optionId)
                    //判断省id对应city的id是否一致
                    if(key==optionId){
                        for(i=0;i<city[key].length;i++){
                        var s_city = city[key][i][‘text‘]
                        var s_sid = city[key][i][‘value‘]
//                        console.log(123,s_city)

                        tt = `<option id="${s_sid}">${s_city}</option>`
                        text_city = text_city+tt
                        }
//                        console.log(45556,text_city)
                        $(‘#dist‘).html(text_city)
                    }
//                    else{
//                        console.log(‘不存在‘)
//                    }

                }

            }
        });
    });

}

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

原文地址:https://www.cnblogs.com/Dark-fire-liehuo/p/10274444.html

时间: 2024-12-13 19:22:34

省份地区三级联动的简单实现的相关文章

地区三级联动--省份province

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>地区三级联动</title> <script src="./jquery.js"></script> </head> <body> <h2>地区三级联动</h2> 省

中国地区三级联动菜单(纯js制作)

第一步:在网页中写入如下代码: <!DOCTYPE html> <!--次行代表使用的是html5,如果不支持请换成html4--> <html> <head> <title>三级联动菜单</title><br> <script src="style/jsAddress.js"></script> <!--需要和js文件在同一目录下--> </head>

省份,城市,地区------三级联动菜单

模板部分代码: <form method='post' action='' id='myform' name='myform'> <dl><dt>地址</dt> <dd> <select name='prov' id='prov'> <option value=''>省份</option> <?php $prov=M('')->where($where)->order('order')->

使用pull解析和spinner实现省市地区三级联动的效果

xml资源文件 <?xml version="1.0" encoding="UTF-8"?> <!-- START_DOCUMET:第一个节点 END_DOCUMET:尾节点 START_TAG:其他的首部的节点 p pn c cn... END_TAG:其他的尾部的节点 </p> </c> ... --> <citylist> <p p_id="01"> <pn>

地区三级联动

控制层: <?phpnamespace app\index\controller; use think\Controller;use think\Db; class Addr extends Controller{ public function addr(){ $one = Db::name('global_region') -> where(['parent_id' => 0]) -> select(); return view('addr',['one'=>$one])

地区三级联动实现方式

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <ti

JavaScript解析XML实现省市县三级联动

JavaScript解析XML实现省市县三级联动,简单易用,只需要一个XML和一个js就能能实现,下载后代开HTML就能看到效果.  原文:JavaScript解析XML实现省市县三级联动 源代码下载地址:http://www.zuidaima.com/share/1550463310056448.htm JavaScript解析XML实现省市县三级联动

jQuery简单的省市区县三级联动案例

简单的省市区三级联动,适合初学者入门学习的案例 目录结构如下: 三级联动.html 跟 JS文件夹是同个级别 效果图如下: HTML代码: 1 <style type="text/css"> 2 *{margin:0;padding:0;} 3 .selectAll 4 { width:400px; 5 margin:100px auto; 6 } 7 </style> 8 9 <div class="selectAll"> 10

(转)JavaScript html js 地区二级联动,省市二级联动,省市县js+xml三级联动

JavaScript html js 地区二级联动,省市二级联动,省市县js+xml三级联动 原文链接:http://heisetoufa.iteye.com/blog/353974 比较好的二级联动: 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 <HTML> 3 <HEAD> 4 <TITLE> New Document </TITLE>