layui实现三级联动效果


Posted in Javascript onJuly 26, 2019

本文实例为大家分享了layui实现三级联动效果的具体代码,供大家参考,具体内容如下

<html> 
 <head> 
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  <meta name="renderer" content="webkit"> 
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> 
  <meta name="apple-mobile-web-app-status-bar-style" content="black"> 
  <meta name="apple-mobile-web-app-capable" content="yes"> 
  <meta name="format-detection" content="telephone=no"> 
  <link rel="stylesheet" href="src/css/layui.css" /> 
 </head> 
 <body> 
  <div class="layui-form"> 
   <div class="layui-input-inline"> 
    <select name="province" lay-filter="province" class="province"> 
     <option value="">请选择省</option> 
    </select> 
   </div> 
   <div class="layui-input-inline"> 
    <select name="city" lay-filter="city" disabled> 
     <option value="">请选择市</option> 
    </select> 
   </div> 
   <div class="layui-input-inline"> 
    <select name="area" lay-filter="area" disabled> 
     <option value="">请选择县/区</option> 
    </select> 
   </div> 
  </div> 
 </body> 
 <script type="text/javascript" src="src/layui.js"></script> 
 <script type="text/javascript" src="src/address.js"></script> 
 <script type="text/javascript"> 
  layui.config({ 
   base : "src/" //address.js的路径 
  }).use([ 'layer', 'jquery', "address" ], function() { 
   var layer = layui.layer, $ = layui.jquery, address = layui.address(); 
 
  }); 
 </script> 
<html>

JS:address.js

layui.define(["form","jquery"],function(exports){ 
 var form = layui.form, 
 $ = layui.jquery, 
 Address = function(){}; 
 
 Address.prototype.provinces = function() { 
  //加载省数据 
  var proHtml = '',that = this; 
  $.get("area",{code:'',type:1}, function (pro) {
 
 
   for (var i = 0; i < pro.length; i++) {
    proHtml += '<option value="' + pro[i].code + '">' + pro[i].name + '</option>';
   } 
   //初始化省数据 
   $("select[name=province]").append(proHtml); 
   form.render(); 
   form.on('select(province)', function (proData) {
 
 
    $("select[name=area]").html('<option value="">请选择县/区</option>');
    var value = proData.value;
 
 
 
 
    if (value > 0) {
     $.post('area',{code:value,type:2},function (val) {
      //console.log(val.length) ;
      that.citys(val) ;
     },"json");
     //that.citys(pro[$(this).index() - 1].childs);
 
 
    } else {
     $("select[name=city]").attr("disabled", "disabled");
    }
   });
  },'json');
 }
 
 //加载市数据 
 Address.prototype.citys = function(citys) {
 
 
  var cityHtml = '<option value="">请选择市</option>',that = this; 
  for (var i = 0; i < citys.length; i++) { 
   cityHtml += '<option value="' + citys[i].code + '">' + citys[i].name + '</option>'; 
  } 
  $("select[name=city]").html(cityHtml).removeAttr("disabled"); 
  form.render(); 
  form.on('select(city)', function (cityData) { 
   var value = cityData.value; 
   if (value > 0) {
    $.post('area',{code:value,type:3},function (area) {
     that.areas(area) ;
    },"json");
    //that.areas(citys[$(this).index() - 1].childs);
   } else { 
    $("select[name=area]").attr("disabled", "disabled"); 
   } 
  }); 
 } 
 
 //加载县/区数据 
 Address.prototype.areas = function(areas) { 
  var areaHtml = '<option value="">请选择县/区</option>'; 
  for (var i = 0; i < areas.length; i++) { 
   areaHtml += '<option value="' + areas[i].code + '">' + areas[i].name + '</option>'; 
  } 
  $("select[name=area]").html(areaHtml).removeAttr("disabled"); 
  form.render(); 
 } 
 
 var address = new Address(); 
 exports("address",function(){ 
  address.provinces(); 
 }); 
});

ajax ->PHP 后台

/**
  * 地区三级联动
  */
  public function areaAction(){
   $code = $this->sys_getparam('code' ) ; // 获取省市区数据
   $type = $this->sys_getparam('type' ) ;
   
   if($type==1){ //省
    $sql = "
   SELECT id AS code,province AS name FROM a_province ;
   " ;
   }
   if($type==2){ //市
    $sql = "
   SELECT id AS code,city AS name FROM a_city WHERE province_id= $code ;
   " ;
   }
   if($type==3){ //区
    $sql = "
   SELECT id AS code,district AS name FROM a_district WHERE city_id= $code ;
   " ;
   }
   $areaData = app::dbload($sql,'all');
   echo json_encode($areaData) ;
  }

效果:

layui实现三级联动效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript下数值型比较难点说明
Jun 07 Javascript
让页面上两个div中的滚动条(滑块)同步运动示例
Aug 07 Javascript
JS中的异常处理方法分享
Dec 22 Javascript
JavaScript语言对Unicode字符集的支持详解
Dec 30 Javascript
jQuery中wrapInner()方法用法实例
Jan 16 Javascript
浅谈jQuery.easyui的datebox格式化时间
Jun 25 Javascript
微信小程序 MINA文件结构
Oct 17 Javascript
bootstrap日历插件datetimepicker使用方法
Dec 14 Javascript
Bootstrap3 模态框使用实例
Feb 22 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
Mar 28 Javascript
VUE+Element环境搭建与安装的方法步骤
Jan 24 Javascript
uniapp与webview之间的相互传值的实现
Jun 29 Javascript
layui实现三级导航菜单
Jul 26 #Javascript
layui实现左侧菜单点击右侧内容区显示
Jul 26 #Javascript
详解nvm管理多版本node踩坑
Jul 26 #Javascript
layui自定义ajax左侧三级菜单
Jul 26 #Javascript
layui递归实现动态左侧菜单
Jul 26 #Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
Jul 26 #Javascript
bootstrap-table+treegrid实现树形表格
Jul 26 #Javascript
You might like
PHP学习笔记之二 php入门知识
2011/01/12 PHP
php中替换字符串中的空格为逗号','的方法
2014/06/09 PHP
laravel admin实现分类树/模型树的示例代码
2020/06/10 PHP
javascript 硬盘序列号+其它硬件信息
2008/12/23 Javascript
jQuery easyui datagrid动态查询数据实例讲解
2013/02/26 Javascript
js动态设置div的值下例子
2013/10/29 Javascript
Jquery之Bind方法参数传递与接收的三种方法
2014/06/24 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
简单理解JavaScript中的封装与继承特性
2016/03/19 Javascript
JS打印组合功能
2016/08/04 Javascript
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
vue中七牛插件使用的实例代码
2017/07/28 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
Vue多环境代理配置方法思路详解
2019/06/21 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
[04:22]DOTA2上海特级锦标赛主赛事第四日TOP10
2016/03/06 DOTA
[59:30]VG vs LGD 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.22
2019/09/05 DOTA
Python简单格式化时间的方法【strftime函数】
2016/09/18 Python
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
浅谈python迭代器
2017/11/08 Python
python+django加载静态网页模板解析
2017/12/12 Python
Python with语句上下文管理器两种实现方法分析
2018/02/09 Python
python如何统计代码运行的时长
2019/07/24 Python
django-crontab 定时执行任务方法的实现
2019/09/06 Python
如何使用Python抓取网页tag操作
2020/02/14 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
浅谈css3中的渐进增强和优雅降级
2017/12/01 HTML / CSS
GafasWorld哥伦比亚:网上购买眼镜
2017/11/28 全球购物
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
贷款担保书
2015/01/20 职场文书
2015年党员承诺书
2015/01/21 职场文书
鸟的天堂导游词
2015/01/31 职场文书
2015年保洁工作总结范文
2015/04/28 职场文书
2016保送生自荐信范文
2016/01/29 职场文书
2016年万圣节活动总结
2016/04/05 职场文书