用Vue.js来实现城市三级联动
2016-12-21 10:46
639 查看
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <style> .selBoxList{width:100%;margin-top:50px;text-align:center;} .selBoxList .selSt{min-width:100px;display:inline-block;position:relative;;} .selBoxList .selSt .current{width:100%;padding:0 10px;font-size:16px;line-height:30px;cursor:pointer;float:left;border:1px solid #ccc;background:#fff;box-sizing: border-box;position:relative;z-index: 2;} .selBoxList .selSt .box{width:100%;position:absolute;left:0;top:30px;border:1px solid #ccc;max-height:300px;overflow:auto;box-sizing: border-box;} .selBoxList .selSt .box span{width:100%;font-size:16px;line-height:30px;cursor:pointer;border-top:1px solid #ccc;float:left;} .selBoxList .selSt .box span:hover{background:#f1f1f1;} </style> </head> <body> <div class="selBoxList"> <span class="selSt selProvince"> <span class="current" @click="toggleSelect(0)"><span v-if="!proIndex">--请选择--</span><span v-if="proIndex">{{cityArr[proIndex].name}}</span></span> <span class="box" v-show="showSelect === 0"> <span v-for="n in cityArr.length" @click="setOption('proIndex', $index)">{{cityArr .name}}</span> </span> </span> <span class="selSt selCity"> <span class="current" @click="toggleSelect(1)"><span v-if="!cityIndex">--请选择--</span><span v-if="cityIndex">{{cityArr[proIndex].sub[cityIndex].name}}</span></span> <span class="box" v-show="showSelect === 1"> <span v-if="cityArr[proIndex].sub.length" v-for="n in cityArr[proIndex].sub.length" @click="setOption('cityIndex', $index)">{{cityArr[proIndex].sub .name}}</span> </span> </span> <span class="selSt selArea"> <span class="current" @click="toggleSelect(2)"><span v-if="!areaIndex">--请选择--</span><span v-if="areaIndex">{{cityArr[proIndex].sub[cityIndex].sub[areaIndex].name}}</span></span> <span class="box" v-show="showSelect === 2"> <span v-if="cityArr[proIndex].sub[cityIndex].sub.length" v-for="n in cityArr[proIndex].sub[cityIndex].sub.length" @click="setOption('areaIndex', $index)">{{cityArr[proIndex].sub[cityIndex].sub .name}}</span> </span> </span> </div> <script src="http://passport.baidu.com/js/sitedata_bas.js" charset="GBK"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.min.js"></script> <script> var vm = new Vue({ el: 'body', data: { cityArr: arrCity, proIndex: 0, cityIndex: 0, areaIndex: 0, showSelect: '' }, methods: { setOption: function(type, index){ this[type] = index; if(type === 'proIndex'){ this.cityIndex = 0; this.areaIndex = 0; } if(type === 'cityIndex'){ this.areaIndex = 0; } this.showSelect = ''; }, toggleSelect: function(n){ if(this.showSelect === n){ this.showSelect = ''; }else{ this.showSelect = n; } } } }) </script> </body> </html> 来自:http://www.qdfuns.com/notes/15309/d4e088dd33ec99fb8811202bb879065e.html
相关文章推荐
- vue基于mint-ui实现城市选择三级联动
- js实现全国三级城市联动select选择
- 原生JS实现的城市三级联动
- ionic+AngularJs项目中实现三级联动效果,筛选省份、城市、区县
- js实现城市列表的三级联动
- jquery实现城市三级数据联动的实例
- js实现省市区三级联动
- 微软crm mscrm 区域城市联动 用 js+查找列 实现
- Js做的城市三级联动
- 由ajax,js,xml,php实现的三级联动省市县下拉功能
- ASP+JS动态实现(数据库)三级联动下拉菜单
- JS+XML 实现 省份和城市之间的联动
- JS+XML 省份和城市之间的联动实现代码
- js实现的城市联动菜单
- js实现一个省市区三级联动选择框代码分享
- js实现年月日三级下拉菜单联动
- 微软crm mscrm 区域城市联动 用js+plug-in实现
- JQuery/JS实现的三级联动选择
- IE、FireFox、Opera全兼容的JS解析XML文件实现省、市、县(区)三级联动效果
- 解决Js解析xml浏览器不兼容问题及省市区三级联动实现