Avalon 二级联动 初始化赋值与二级循环赋值

例子:

HTML:

<select ms-duplex="province_id"   ms-change="getCitysByProvinceId(this)">
	<option value="0">请选择省份</option>
	<option ms-repeat="provinces" ms-attr-value="el.id">{{el.name}}</option>
</select>
<select ms-duplex="city_id">
	<option value="0">请选择城市</option>
	<option ms-repeat="citys" ms-attr-value="el.id" data-repeat-rendered='citysRendered'>{{el.name}}</option>
</select>

JavaScript:

var vm = avalon.define({
        $id : "table",
		AreaParentId : 88,		//初始化省份ID
		AreaId : 8888,			//初始化城市ID
		provinces : [],			//省份资料
		province_id : 0,		//省份ID
		citys : [],				//城市资料
		city_id : 0,			//城市ID
		//获取所有省份资料
		getAllProvinces : function(){
			post('/baidu/getAllProvinces', {} ,function(json){
                if(json.result){
					vm.provinces = json.data;
					vm.province_id=json.data[0]['id'];
				}
            })
		},
		//按省份ID获取所有城市
		getCitysByProvinceId : function(){
			post('/baidu/getCitysByProvinceId', {id:vm.province_id} ,function(json){
                if(json.result){
					vm.city_rendered = false;
					vm.citys = json.data;
				}
            })
		},
		citysRendered : function(action, offset, length){
			if(vm.province_id == vm.baseinfo.AreaParentId){
				//选择的省份与初始化省份相同,使用初始化城市ID
				vm.city_id=vm.baseinfo.AreaId;
			} else{
				//否则,使用提示性option
				vm.city_id=0;
			}
		},
        realod: function(){
			vm.province_id = vm.AreaParentId;
			vm.city_id=vm.AreaId;
        },
    });
	avalon.scan();
	//监听省份ID,获取城市资料
	vm.$watch('province_id', function(newValue, oldValue){
		vm.getCitysByProvinceId();
	});
	vm.init();
    vm.realod();

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值