<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. 【做题】TCSRM601 Div1 500 WinterAndSnowmen——按位考虑&dp

    原文链接https://www.cnblogs.com/cly-none/p/9695526.html 题意:求有多少对集合\(S,T\)满足:\(S \subseteq \{1,2...n \}, ...

  2. Java后台要看的书

    推荐一个 搜书的网站,挺好用的 鸠摩搜书 Java基础 <Head first Java> (入门用) <Java 编程思想> <Java核心技术卷> 并发 < ...

  3. 【模板】关于c++的代码模板

    收集了点代码模板,现在整理在这里. 目录: 大数阶乘 高精度(大数乘小数) 高精度(大数乘大数) 高精度(加法) 高精度(减法) 进制转化 最大公约数 最小公倍数 组合序列 未完待续

  4. 3、iptables扩展及使用

    iptables/netfilter netfilter: kernel framework,位于内核中的协议框架 iptables  是规则管理命令行工具 四表:filter, nat, mangl ...

  5. 【Java】【控制流程】

    #栗子 丢手帕 & 菱形 & 金字塔import java.io.*;import java.util.*; public class Test_one { public static ...

  6. RN原生调用一:安卓Toast

    首先安卓原生方法:Toast.makeText(getApplicationContext(), "默认的Toast", Toast.LENGTH_SHORT); 在RN中js如何 ...

  7. 你所要掌握的最简单基础的React渲染优化

    一.React的渲染机制 要掌握一两项React-render优化的方法不难,但是非常重要.无论是在实际项目中的一个小细节,还是迎合'面试官'的口味 1.1 触发Render 我们知道React要更新 ...

  8. JavaScript重点知识(二)

    三.JS的API 3.1知识点(DOM) 1)DOM本质 将html结构化成浏览器和JS可识别可操作的东西 2)变量计算---强制类型转换 获取DOM节点 Attribute(对html标签属性的修改 ...

  9. CentOS6.5下卸载自带的MySQL数据库安装MySQL5.6

    1)查看CentOS自带的mysql 输入 rpm -qa | grep mysql mysql-libs-5.1.71-1.el6.x86_64 2)将其自带的mysql版本全部卸载(非常重要,如不 ...

  10. [转]VS中的路径宏 OutDir、ProjectDir、SolutionDir各种路径含义

    转自 http://blog.csdn.net/restraint/article/details/39934401 说明 $(RemoteMachine) 设置为“调试”属性页上“远程计算机”属性的 ...