首页 > 其他分享 >laravel框架三级联动,详细代码

laravel框架三级联动,详细代码

时间:2023-05-09 17:44:06浏览次数:65  
标签:laravel function name get pid 联动 data id 三级

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

 

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

需要一个省份表,里面的字段要有个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,function,name,get,pid,联动,data,id,三级
From: https://www.cnblogs.com/Boboschen/p/17385798.html

相关文章

  • Laravel10 Auth 多用户(管理员、用户的区分)
    参考https://learnku.com/docs/laravel/10.x/authenticationmd/14876#retrieving-the-authenticated-user环境软件/系统版本说明windows10php8.1.9-Win32-vs16-x64composer2.5.5laravel10.8.0mysql8.0.28注意如果需要使用密码功能,还需......
  • 记一次使用laravel-snappy把g2和plotly.js图生成pdf踩坑经历
    最近有一个需求,需要把页面上的echarts等js组件生成的图表放到pdf中。使用laravel框架,找到了laravel-snappy这个包,其底层是使用wkhtmltopdf来生成pdf。因为有把数据点都画到箱型图上的需求,找到了plotly.js这个组件,功能还是很强大的,可以轻松实现如下的效果 页面都没问题,然使用lar......
  • laravel-permission 缓存导致的Redis带宽占用问题
     先决条件spatie/laravel-permission:3.18.0权限数:634角色数:94问题laravel-permission的缓存机制设计的不太合理将所有的权限存放在一个大set中,且存放了许多不必要的信息。当项目拥有大量的角色权限,使得这个set达到了11mb,非常影响性能。解决方案spatie/laravel......
  • 具有前后按钮切换+头图切换联动通用接口(应付不同的联动需要)的图片滑动效果
    -------scroll_tween.js----------CHRD.scroll.tween=function(){varTween={Quart:{easeOut:function(t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b;}},Back:{easeOut......
  • laravel 知识汇总|定时任务|
    1.helloword生命周期生命周期Laravel框架门面Facade源码分析门面的运用2.数据库配置3.migrate创建数据库laravel中migration数据迁移4.composer的使用,require和require-dev区别5.自动生成模型,自动生成代码注释:idea生成器:https://chujc.github.io/2019/05/15/%E5%B7%A5......
  • 痞子衡嵌入式:聊聊i.MXRT1xxx上第三级启动保障 - SDMMC manufacture模式
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是i.MXRT1xxx上第三级启动保障-SDMMCmanufacture模式。如果你在i.MXRT1xxx板卡上尝试过从SD/eMMC卡启动,你会发现一个奇怪的现象:如果把SD/eMMC卡还插着(并且里面保留正常的App程序),明明BOOT_MODE[1......
  • OSPF联动BFD
    配置R1[R1]ospfrouter-id2.2.2.2[R1-ospf-1]area0[R1-ospf-1-area-0.0.0.0]network2.2.2.00.0.0.255[R1-ospf-1-area-0.0.0.0]network12.1.1.00.0.0.255[R1-ospf-1-area-0.0.0.0]network13.1.1.00.0.0.255[R1-ospf-1-area-0.0.0.0]quit[R1]bfd[R1-ospf-1]bfdal......
  • laravel框架中上传图片,并在本地显示
    1//处理文件上传2if($request->hasFile('image')&&$request->file('image')->isValid()){3//对上传文件做必要处理4$filename=date('ymdHis').rand(100000,999999).'.'.$request->f......
  • 省市县三级联动
    三级联动的代码*(心情很差呀,白忙了一上午,说要搞离线的,记录下来呗,已被不时之需)functionhdfsUpload(){cmApi.request.httpGetAsync('/xzqh/getXzqh',JSON.stringify({"province":"province"}),'mainModule.xzqh');}functionxzqh(re......
  • 【Spring】三级缓存解决循环依赖问题
    1、什么是循环依赖  顾名思义“循环依赖”,举一个简单的例子A中依赖B,B中依赖A,在实例化对象过程中,填充属性阶段A需要B对象,就去创建B对象,创建B对象的时候,发现B依赖了A,于是又去创建A对象,但此时A对象又没有创建结束,一级缓存中找不到,于是线程又去创建一个新的A对象,如此一来,就出现了......