28_二级联动

2018-02-12  本文已影响0人  CHENPEIHUANG

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <div id="app">
            <label>省份:</label>
            <select @change="changeCity">
                <option v-for="d in myProvs" :value="d">{{d}}</option>
            </select>
    
            &nbsp;&nbsp;    
            <label>城市:</label>
            <select>
                <option v-for="d in myCitys" :value="d">{{d}}</option>
            </select>
        </div>
        <script type="text/javascript" src="js/vue.js" ></script>
        <script type="text/javascript" src="js/jquery-3.3.1.min.js" ></script>
        <script>
            var vm=new Vue({
                el:"#app",
                data:{
                    myCitys:[], //城市信息
                    myProvs:[], //省份信息
                    myData:[]
                },
                methods:{
                    changeCity(ev){
                        //修改城市的数据
                        console.log(ev.target.value);
                        this.myCitys=[];
                        var This=this;
                
                        $.each(This.myData,function(index,val){
                            if(This.myData[index].name==ev.target.value){
                                //获取指定省份的城市数据
                                $.each(This.myData[index].city,function(index,val){
                                    This.myCitys.push(val.name);
                                });
                            }
                            
                        });
                    }
                },
                created(){
                    var This=this;
                    //请求后台数据
                    $.get('citys.json').then(function(res){
                        //console.log(res);
                        //获取省份数据
                        $.each(res,function(index,val){
                            This.myProvs.push(val.name);
                        });     
                        //获取第一个城市数据
                        $.each(res[0].city,function(index,val){
                            This.myCitys.push(val.name);
                        });
                        
                        This.myData=res;
                    });
                    
                }
            })
            
        </script>
    </body>
</html>

上一篇下一篇

猜你喜欢

热点阅读