这里运用到省份表中,下面是效果图

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

需要一个省份表,里面的字段要有个pid,name这些字段

下面是控制器代码,(Citie,是那个省份表的模型)

 1     //显示页面
2 public function create(){
3 $data=Citie::where('pid',0)->get();
4 return view('admin.shop.create',['data'=>$data]);
5 }
6 //省份三级联动
7 public function getChildren(Request $request)
8 {
9 $pid=$request->get('pid');
10 $citys=Citie::where('pid',$pid)->get();
11 return $citys;
12 }
13
14 public function getParents(Request $request){
15 //获取pid
16 $pid=$request->get('pid');
17 $citys=Citie::where('pid',$pid)->get();
18 return $citys;
19 }

添加路由

1 //省份表的三级联动
2 Route::get('shop_create',[\App\Http\Controllers\Admin\ShopController::class,'create']);
3 Route::get('children',[\App\Http\Controllers\Admin\ShopController::class,'getChildren'])->name('children');
4 Route::get('parents',[\App\Http\Controllers\Admin\ShopController::class,'getParents'])->name('parents');

接下来是前端代码,注意,使用模板的时候,注意jquire的位置,代码是自上而下运行,我的是在最下面,写的时候看着自己的模板,不然后面两个下拉列表接不到值)

 1     <div>
2 <select id="province_id">
3 <option value="" name="1">请选择省份</option>
4 @foreach ($data as $v)
5 <option value="{{ $v->id }}">{{ $v->name }}</option>
6 @endforeach
7 </select>
8 <select id="city_id">
9 <option value="">请选择城市</option>
10 </select>
11 <select id="area_id">
12 <option value="">请选择区县</option>
13 </select>
14 </div>
 1 <script type="text/javascript">
2 $(function(){
3 $('#province_id').change(function () {
4 $('#city_id').empty().append("<option value='0'>请选择</option>")
5 let pid=$(this).val();
6 console.log(pid);
7 $.ajax({
8 type:'get',
9 url:'children',
10 dataType: 'json',
11 data:{pid:pid},
12 success:function (res){
13 res.forEach(function (v){
14 console.log(v)
15 $('#city_id').append(`<option value="${v.id}">${v.name}</option>`)
16 })
17 }
18 })
19 })
20
21 $("#city_id").change(function () {
22 $("#area_id").empty().append("<option value='0'>请选择</option>")
23 let pid =$(this).val();
24 console.log(pid);
25 $.ajax({
26 type:'get',
27 url:'parents',
28 dataType:'json',
29 data:{pid:pid},
30 success:function (res) {
31 res.forEach(function (v) {
32 console.log(v)
33 $("#area_id").append(`<option value="${v.id}">${v.name}</option>`)
34
35 })
36 }
37 })
38 })
39 })
40 </script>

laravel框架三级联动,详细代码的更多相关文章

  1. 转: javascript实现全国城市三级联动菜单代码

    <html> <head> <title>js全国城市三级联动菜单代码_B5教程网</title> <meta http-equiv=" ...

  2. 省市县三级联动js代码

    省市县三级联动菜单,JS全国省市县(区)联动代码,一般可以用于用户注册或分类信息二手交易网站,需要的朋友直接复制代码就可以用了,不过有朋友反馈说缺少某些城市,具体缺少哪个尚不知,请想用的朋友自己补全吧 ...

  3. jQuery三级联动效果代码(省、市、区)

    很长时间都不用jquery了,有人问我jquery写三级联动的插件我就写好了发出来吧,正好需要的人都可以看看. 一.html代码 <!DOCTYPE html> <html> ...

  4. 原生javascript制作省市区三级联动详细教程

    多级联动下拉菜单是前端常见的效果,省市区三级联动又属于其中最典型的案例.多级联动一般都是与数据相关联的,根据数据来生成和修改联动的下拉菜单.完成一个多级联动效果,有助于增强对数据处理的能力. 本实例以 ...

  5. laravel框架中容器类简化代码-摘自某书

    <?php //容器类装实例或提供实例的回调函数 class Container { protected $bindings = []; //绑定接口和生成相应实例的回调函数 public fu ...

  6. Easyui表单,文本框,下拉菜单三级联动练习代码

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  7. 省份、城市、区县三级联动Html代码

    <!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content=& ...

  8. 三级联动(在YII框架中)

    //三级联动 //数据库代码过多就不上传了 //视图 <div class="area">    <table class="table"&g ...

  9. vue+element实现省区市三级联动以及详细地址的输入

    Vue+elementui实现省区市三级联动+详细地址的输入 详细需求,需要手动更改用户所在的地址. 安装依赖项 npm install element-china-area-data -S 在组建中 ...

  10. laravel框架安装过程中遇到的问题

    1.安装laravel框架之前的必要环境 php环境:网上有集成好的服务器,例如wamp,phpstudy.当然你可以自己搭建属于自己的环境.其中php必须是7.1版本以上: compose:php的 ...

随机推荐

  1. 通过Rdp实现连接远程桌面

    unit UnitMain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Fo ...

  2. 面试-JVM

    1.java内存模型 / java运行时数据区模型? 元空间属于本地内存 而非JVM内存 内存模型 程序计数器 1.作为字节码的行号指示器,字节码解释器通过程序计数器来确定下一步要执行的字节码指令,比 ...

  3. 转发:Midway Serverless 发布 2.0,一体化让前端研发再次提效

    自去年 Midway Serverless 1.0 发布之后,许多业务开始尝试其中,并利用 Serverless 容器的弹性能力,减少了大量研发人员对基础设施和运维的关注.对前端开发者而言,他们只需写 ...

  4. 最大公约数与最小公倍数_c/c++

    gcd:greatest common divisor,最大公约数   欧几里得算法,也就是辗转相除法.公式:gcd(a, b) = gcd(b, a % b)   推论:gcd(b, a) == g ...

  5. 6Sampling Configuration Space: 6.3 Using Accelerated Molecular Dynamics (aMD) to enhance sampling

    6.3 Using Accelerated Molecular Dynamics (aMD) to enhance sampling 英文官网:http://ambermd.org/tutorials ...

  6. element ui upload 组件多文件上传,最终只显示上传一个的问题

    问题描述:一次选多张图片上传的时候界面上只有一张图片显示,并且上传调用的接口次数与选择的图片数量一致,且接口已200. JSON格式,"url"是最终显示的图片地址 {     & ...

  7. js对象深拷贝方法

    JSON.stringify()是目前前端开发过程中最常用的深拷贝方式, 原理是把有个对象序列化成为一个 JSON 字符串,将对象的内容转换成字符串的形式再保存到磁盘上, 再用 JSON.parse( ...

  8. NTP同步时间

    什么是NTPNTP:Network Time Protocol(网络时间协议) ️ NTP 是用于同步网络中计算机时间的协议.它的用途是把计算机的时钟同步到世界协调时UTC. UTC:Universa ...

  9. 信创国产化,试试 Solon v2.2.2

    Solon 是一个高效的 Java 应用开发框架:更快.更小.更简单.它不是 Spring.没有用 Servlet.也无关 JavaEE,是一个有自己接口标准的开放生态.可以为应用软件国产化提供支持, ...

  10. Gym - 101845E (图形转换思维)

    题意:给你个边长为n(1 <= n <= 50)的下图这种三角形,图形所有点构成集合.找多少对a,b满足条件,条件为:ab两点之间还有其他点. 题解:刚开始以为直接找规律就行,wa了两次发 ...