用Vue.js来实现城市三级联动
<!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[n].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[n].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[n].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.js来实现城市三级联动的更多相关文章
- vue 使用element-ui实现城市三级联动
<template> <div> <el-select v-model="prov" style="width:167px;margin-r ...
- 全国城市三级联动 html+js
全国城市三级联动,没有css,所以屏幕的自适应必须自己想办法,手机端慎用(最好不要用,因为有些我也说不出的展示问题). html页面 <!DOCTYPE html> <html> ...
- 城市三级联动 AJAX-原生js封装
话不多说我们先来一张效果图给大家看一下: html代码如下: <!DOCTYPE html><html lang="en"><head> < ...
- jquery 城市三级联动
js代码 /*城市三级联动 * @method cityChange * @param allProvince,allCity,allDistrict */ function cityChange(p ...
- 转: javascript实现全国城市三级联动菜单代码
<html> <head> <title>js全国城市三级联动菜单代码_B5教程网</title> <meta http-equiv=" ...
- js 实现全国省市区三级联动
效果: index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /& ...
- vue+element实现省区市三级联动以及详细地址的输入
Vue+elementui实现省区市三级联动+详细地址的输入 详细需求,需要手动更改用户所在的地址. 安装依赖项 npm install element-china-area-data -S 在组建中 ...
- JS 实现的年月日三级联动
js文件 SYT="-请选择年份-"; SMT="-请选择月份-"; SDT="-请选择日期-"; BYN=50;//年份范围往前50年 A ...
- js之省市区(县)三级联动效果
省市区(县)三级联动效果,是我们软件开发比较常用的,特别是对一些crm,erp之类,当然也包括其他的后台管理系统,基本都涉及到,今天贴出这个常用的,方便个人复用和大家使用 <!DOCTYPE h ...
随机推荐
- iview中 ...用法
1. 2. 3. 4.可以将divs转为数组解构 5. 解构 6.作为函数的参数 7.作为参数遍历
- UVa 216 Getting in Line【枚举排列】
题意:给出n个点的坐标,(2<=n<=8),现在要使得这n个点连通,问最小的距离的和 因为n很小,所以可以直接枚举这n个数的排列,算每一个排列的距离的和, 保留下距离和最小的那个排列就可以 ...
- 三维偏序(陌上花开) CDQ分治
十分巧妙. Code: #include <cstdio> #include <algorithm> #include <cstring> #define setI ...
- [SHOI2008]堵塞的交通(线段树维护联通性)
题目 2行c列个点,开始时互不联通,支持给同一列或着同一行相邻的两个点连边,和询问两个点能否在一个联通块里. 1≤C≤100000 1<=操作数<=100000; 题解 线段树的又一个骚操 ...
- 洛谷—— P1003 铺地毯
https://www.luogu.org/problem/show?pid=1003 题目描述 为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形 ...
- Sqlite 命令行导出、导入数据(直接支持CSV)
打开命令行 导出数据到data.csv D:\project>sqlite3.exe old.db SQLite version 3.21.0 2017-10-24 18:55:49 Enter ...
- Visual Code中的智能提示
https://code.visualstudio.com/docs/editor/intellisense C# https://marketplace.visualstudio.com/items ...
- css3 背景过度实现
代码: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8&q ...
- [Chromium文档转载,第004章]Mojo Synchronous Calls
For Developers > Design Documents > Mojo > Synchronous Calls Think carefully before ...
- vuex 快速入门( 基于vue2.0,vue1.0未知可否)
1.原理概述 2.用户登录例子解析: 由上图可以看到: 1.组件的数据是username,我们把它以name放在state中: 2.更改name发生在mutations的回调里,事件名字是showUs ...