<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. Ubuntu18.04 安装搜狗输入法后无法启动的问题

    ibus 改选成fcitx后搜狗输入法照样没出来. 这里需要im-config 没有的话需要安装: sudo apt install im-config 然后在Terminal中执行 im-confi ...

  2. sql -- 移除数据中的换行符和回车符

    https://blog.csdn.net/jcx5083761/article/details/40185795 --移除回车符 update master_location SET street_ ...

  3. [CodeForces - 919B] Perfect Number

    题目链接:http://codeforces.com/problemset/problem/919/B AC代码: #include<cstdio> using namespace std ...

  4. Template 制作模版

    直接写在选项里的模板 直接在构造器里的template选项后边编写.这种写法比较直观,但是如果模板html代码太多,不建议这么写. var vm = new Vue({ el:"#app&q ...

  5. Docker:Swarms

    Prerequisites Install Docker version 1.13 or higher. Get Docker Compose as described in Part 3 prere ...

  6. eclipse创建maven web项目工程步骤示例

    参考链接:https://www.cnblogs.com/noteless/p/5213075.html 需求表均同springmvc案例 此处只是使用maven 注意,以下所有需要建立在你的ecli ...

  7. Linux 命令之mv

    mv命令也是Linux中很常见命令 作用:可以用来移动文件或者将文件改名 命令格式: mv [选项] 源文件或目录 目标文件或目录 命令参数: -b :若需覆盖文件,则覆盖前先行备份. -f :for ...

  8. eclipse maven maven-compiler-plugin 报错 完全解决

    报错如下: Maven install失败 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:comp ...

  9. Gradle实现编译差异

    今天开发组长问了这么一个问题,如何实现通过gradle编译动态设置代码里的一些值.可能这么说不太明白,下面说依稀具体需求. 开发中有两个服务器:一个用于测试版本.一个用于线上版本发布,这两个服务器地址 ...

  10. STL——set

    (转) 1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用 ...