layui省市区三级联动

实现原理:通过省区的id进行调用市区的下拉列表,在通过市区的id调用县区的下拉列表进行显示,牵一发而动全身,如果是赋值的话,就采用form,val()最后赋值

//通过三级联动进行调用这是html代码
<div class="layui-form-item">
					<label class="layui-form-label required">地区选择</label>
					<div class="layui-input-inline" style="width: 100px;">
						<select name="province" lay-verify="required" lay-filter="province">
						</select>
					</div>
					<div class="layui-input-inline" style="width: 100px;">
						<select name="city" lay-verify="required" lay-filter="city">

						</select>
					</div>
					<div class="layui-input-inline" lay-filter="area" style="width: 100px;">
						<select name="area" lay-verify="required">

						</select>
					</div>
				</div>

//这是js代码 
	// 获取省
				$.get("http://47.92.92.156:336/api/area/area",
					function(data, status) {
						console.log('data', data);
						// 动态渲染下来框
						let seleData = data.code;
						for (var i = 0; i < seleData.length; i++) {
							console.log('进入');
							let option = document.createElement("option");
							option.setAttribute("value", seleData[i].id);
							option.innerText = seleData[i].name;
							$('select[name=province]').append(option);
						};
						//渲染下拉框
						form.render("select");
						// 获取省份下拉框
						form.on('select(province)', function(proData) {
							// 获取到省份id
							let value = $('select[name=province]').val();
                                 // 把省份id传过去
								province(value);
						});
					// 省区获取到了默认执行获取市区
					}).done(function(data){
						// 默认传省份
						let value = $('select[name=province]').val();
						// 默认执行一次
						province(value);
					});
				// 获取市
			function province(data){
				console.log('市区',data);
			$.get("http://47.92.92.156:336/api/area/area",{province:data},
				function(data, status) {
					console.log('data', data);
					// 删除子元素
						$('select[name=city]').children().remove();
					// 动态渲染下来框
					let seleData = data.code;
					for (var i = 0; i < seleData.length; i++) {
						let option = document.createElement("option");
						option.setAttribute("value", seleData[i].id);
						option.innerText = seleData[i].name;
						$('select[name=city]').append(option);
					};
					//渲染下拉框
					form.render("select");
					// 渲染市区下拉框
					form.on('select(city)', function(proData) {
					// 默认传省份
					  let proval = $('select[name=province]').val();
						// 默认传市区
						let cityval = $('select[name=city]').val();
						console.log('val',value);
						// 默认执行一次
						
						let regionData={
							province:proval,
							city:cityval
						};
						citys(regionData);
					});
						// 市区渲染下拉后默认发送县级下拉
				}).done(function(data){
					    // 默认传省份
					      let proval = $('select[name=province]').val();
							// 默认传市区
							let cityval = $('select[name=city]').val();
							let regionData={
								province:proval,
								city:cityval
							};
							// 默认执行一次
							citys(regionData);
						});
			};
				// 获取县
				function citys(data){
					$.get("http://47.92.92.156:336/api/area/area",data,
						function(data, status) {
							console.log('data', data);
							// 删除子元素
								$('select[name=area]').children().remove();
							// 动态渲染下来框
							let seleData = data.code;
							for (var i = 0; i < seleData.length; i++) {
								let option = document.createElement("option");
								option.setAttribute("value", seleData[i].id);
								option.innerText = seleData[i].name;
								$('select[name=area]').append(option);
							}
							//渲染下拉框
							form.render("select");
						}).done(()=>{
							
							$.post("http://47.92.92.156:336/api/area/edit_show", {
									    id: regionId
									    },
									    function(data,status){
								console.log('data',data);
									  
									    });
						})
				};
  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端J先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值