<template>
<div id="body" class="application" v-show="show" v-cloak>
<div class="applicationForm">
<div class="essentialInformation">
<ul>
<li>
<div class="agencyNamjian fr">
<img src="../assets/img/xiala.png" width="100%" height="100%" />
</div>
<div class="agencyName agencyJantou">
                          <span class="plaseCity" v-show="plaseCityShow" v-text="plaseProvinceText"></span>
  <select v-model='provinceSelect' @change ="cityChange(1)">
<option v-for="(item,index) in application.province" :key="index" :value="item.id" v-text="item.title"></option>
  </select>
</div>
</li>
<li>
<div class="agencyNamjian fr">
<img src="../assets/img/xiala.png" width="100%" height="100%" />
</div>
<div class="agencyName agencyJantou">
                            <span class="plaseCity" v-show="plaseCityShow" v-text="plaseCityText"></span>
<select v-model="citySelect" @change="cityChange(2)">
                            <option v-for="(item,index) in city" :key="index" :value="item.id" v-text="item.title"></option>
</select>
</div>
</li>
<li>
<div class="agencyNamjian fr ">
<img src="../assets/img/xiala.png" width="100%" height="100%" />
</div>
<div class="agencyName agencyJantou noBorder">
                            <span class="plaseCity" v-show="plaseCityShow" v-text="plaseCountyText"></span>
<select v-model="countySelect">
                            <option v-for="(item,index) in county" :key="index" :value="item.id" v-text="item.title"></option>
</select>
</div>
</li>
</ul>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'application',
data () {
return {
show: false,
application: {
province: [],
city: {},
county: {}
},
city: [],
county: [],
provinceSelect: '',
citySelect: '',
countySelect: '',
tishi: false,
tishiTxt: '',
plaseCityShow: true,
plaseCityText: '请子选择城市',
plaseProvinceText: '请选择城市',
plaseCountyText: '请选择(区)县'
}
},
methods: {
verify: function () {
let thisObj = this
this.$chaos.setTitle('报名表单')
this.$chaos.verify(function () {
thisObj.$chaos.ajax({
data: {
pid: '0'
},
slient: true,
userinfo: true,
url: 'get_address_by_pid',
callback: function (type, res) {
if (type !== 'success') {
return
}
if (res.status) {
thisObj.application.province = res.info.region_list
thisObj.show = true
} else {
thisObj.$vux.toast.show({
text: res.msg,
type: 'text',
position: 'bottom'
})
}
}
})
thisObj.$chaos.ajax({
slient: true,
userinfo: true,
url: 'user_is_sign',
callback: function (type, res) {
if (type !== 'success') {
return
}
if (res.status) {
let userInfo = thisObj.$chaos.getUserInfo()
if (userInfo.user_info.is_sign === 1) {
window.location.href = '#/CourseList'
} else {
userInfo.user_info.is_buy_course = 1
thisObj.$chaos.setUserInfo(userInfo)
}
} else {
thisObj.$vux.toast.show({
text: res.msg,
type: 'text',
position: 'bottom'
})
}
}
})
}, false)
},
cityChange: function (type) {
let thisObj = this
if (type === 1) {
if (thisObj.provinceSelect === '' || typeof thisObj.provinceSelect === 'undefined') {
return
}
if (typeof thisObj.application.city[thisObj.provinceSelect] === 'undefined') {
thisObj.plaseCityShow = false
thisObj.$chaos.ajax({
data: {
pid: thisObj.provinceSelect
},
slient: true,
userinfo: true,
url: 'Attend/get_address_by_pid',
callback: function (type, res) {
if (type !== 'success') {
return
}
if (res.status) {
thisObj.application.city[thisObj.provinceSelect] = res.info.region_list
thisObj.city = res.info.region_list
thisObj.citySelect = thisObj.city[0]['id']
} else {
thisObj.$vux.toast.show({
text: res.msg,
type: 'text',
position: 'bottom'
})
}
}
})
} else {
thisObj.city = thisObj.application.city[thisObj.provinceSelect]
thisObj.citySelect = thisObj.city[0]['id']
}
} else {
if (thisObj.city === '' || typeof thisObj.city === 'undefined') {
return
} else {
if (typeof thisObj.application.county[thisObj.city] === 'undefined') {
thisObj.$chaos.ajax({
data: {
pid: thisObj.citySelect
},
slient: true,
userinfo: true,
url: 'Attend/get_address_by_pid',
callback: function (type, res) {
if (type !== 'success') {
return
}
if (res.status) {
thisObj.application.county[thisObj.citySelect] = res.info.region_list
thisObj.county = res.info.region_list
thisObj.countySelect = thisObj.county[0]['id']
} else {
thisObj.$vux.toast.show({
text: res.msg,
type: 'text',
position: 'bottom'
})
}
}
})
} else {
thisObj.county = thisObj.application.county[thisObj.citySelect]
thisObj.countySelect = thisObj.county[0]['id']
}
}
}
}
},
created: function () {
this.verify()
},
watch: {
'$route': 'verify'
}
}
</script>
<style scoped>
[v-cloak] {
display: none;
}
.plaseCity{
position: absolute;
top:0;
left:0;
right:0;
bottom:0;
line-height: 55px;
text-indent: 10px;
}
.essentialInformation, .importaInformation {
background: #FFFFFF;
}
.essentialInformation {
margin: 10px 0;
}
.essentialInformation ul, .importaInformation ul {
margin: 0 15px;
}
.agencyNameImg {
width: 20px;
height: 20px;
line-height: 4.3;
}
.fl {
float: left;
}
.noBorder {
border: 0;
}
.essentialInformation:after {
content: '';
display: block;
clear: both;
}
.agencyNamjian {
width: 11px;
height: 8px;
line-height: 4.3;
}
.agencyJantou {
padding-right: 40px;
position: relative;
}
.agencyName {
margin-left: 30px;
border-bottom: 1px solid #cccccc;
line-height: 3.8
}
.essentialInformation input, .essentialInformation select {
width: 100%;
text-indent: 10px;
border: 0;
-webkit-appearance: none;
background: transparent;
}
.essentialInformation select {
height: 55px;
position: relative;
z-index: 0;
}
.agencyBut {
margin-top: 100px;
}
.squadButton {
text-align: center;
color: #fff;
background: #fbac36;
margin: 0 30px;
line-height: 2.5;
font-size: 16px;
box-shadow: 0px 1px 5px #ccc;
}
.agencyBut {
margin-top: 100px;
} </style>

  

vue select的change事件,将点击过的城市名存在数组中,下次调用不需要再调用接口的更多相关文章

  1. vue select框change事件

    vue Select 中< :label-in-value="true" @on-change="satusSelect"> satusSelect ...

  2. 关于element-ui select组件change事件只要数据变化就会触发的解决办法

    使用select组件和表格组件结合起来用,但是发现在点击下一页的时候,由于select当中的数据发生了变化,所以也会触发select当中的change事件,但是我只希望在我主动改变select组件当中 ...

  3. jquery 怎么触发select的change事件

    可以使用jQuery的trigger() 方法来响应事件 定义和用法 trigger() 方法触发被选元素的指定事件类型. 语法 $(selector).trigger(event,[param1,p ...

  4. elementUI下拉框select组件change事件用法

    <el-select-custom clearable collapse-tags v-model="searchForm.cardTypeList" @change=&qu ...

  5. js改变select的选中项不触发select的change事件

    // test var selectEl = document.querySelector('select') var buttonEl = document.querySelector('butto ...

  6. layui中select的change事件、动态追加option

    说明:layui中用jquery 中的选择器例如$('#id').change(function(){})发现不起作用 layui操作:lay-felter标识操作哪个select html部分: & ...

  7. jquery操作select标签change事件

    $('#update_supply_id').on('change',function(){//判断是否选取prompt属性,无返回值: if($(this).val()){ var selectTe ...

  8. (转载)Unity 关于动态监听时,点击Button,返回其在数组中的下标

    其实是绕了一圈,把数组里的元素放进数组列表里再读取它的下标 using System.Collections; using System.Collections.Generic; using Unit ...

  9. select控件自动触发change事件

    这里接上面的二级联动.背景:当页面跳转到修改页面时,需要首先绑定学院和专业.这就需要在页面加载时触发select的change事件,具体用trigger函数进行实现.代码如下. $("#xs ...

随机推荐

  1. Python3 tkinter基础 Canvas background 创建白色的画布 create_line width 画宽的线

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  2. WSDL(Web服务描述语言)详细解析(全文转载学习用)

    WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application,他将Web服务描述定义为一组服务访问点,客户端可以通过这些服务 ...

  3. CentOS 安装 Gitlab

    源地址 https://mirror.tuna.tsinghua.edu.cn/gitlab-ce/ # 清华源 https://mirrors.tuna.tsinghua.edu.cn/help/g ...

  4. HDU 2647 Reward 【拓扑排序反向建图+队列】

    题目 Reward Dandelion's uncle is a boss of a factory. As the spring festival is coming , he wants to d ...

  5. bzoj 3437 小p的农场

    bzoj 3437 小p的农场 思路 \(f[i]=min(f[j]+\sum\limits_{k=j+1}^{i}{b[k]*(i-k)}+a[i])\) \(f[i]=min(f[j]+\sum\ ...

  6. Why there is two completely different version of Reverse for List and IEnumerable?

    https://stackoverflow.com/questions/12390971/why-there-is-two-completely-different-version-of-revers ...

  7. js变量按照存储方式区分,有哪些类型,并表述其特点

    // 值类型 拷贝形式 不像引用类型是指针指向,共用空间 值类型有 undefined string number Boolean var a = 100; var b = a; var a = 20 ...

  8. 日系插画学习笔记(一):SAI软件基础

    检测驱动是否安装正确:1.画笔没有压感,线条没有粗细变化2.画笔线条有锯齿 一.文件:新建文件:预设尺寸:一般选择A3(8k),A4(16k),A5(32k)作业要求:A4A5 - 300dpi,像素 ...

  9. Eclipse卸载插件SpringSoource-tool-suite

    Eclipse卸载插件SpringSoource-tool-suite **系统环境:**Mac OS X 引子: 一直在纠结的一个问题,就是Eclipse开发java 项目在配置了InternalR ...

  10. TortoiseGit自动记住用户名密码的方法

    TortoiseGit自动记住用户名密码的方法 windows下比较比较好用的git客户端有2种: msysgit + TortoiseGit(乌龟git) GitHub for Windows gi ...