laravel框架三级联动,详细代码
这里运用到省份表中,下面是效果图


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
需要一个省份表,里面的字段要有个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框架三级联动,详细代码的更多相关文章
- 转: javascript实现全国城市三级联动菜单代码
<html> <head> <title>js全国城市三级联动菜单代码_B5教程网</title> <meta http-equiv=" ...
- 省市县三级联动js代码
省市县三级联动菜单,JS全国省市县(区)联动代码,一般可以用于用户注册或分类信息二手交易网站,需要的朋友直接复制代码就可以用了,不过有朋友反馈说缺少某些城市,具体缺少哪个尚不知,请想用的朋友自己补全吧 ...
- jQuery三级联动效果代码(省、市、区)
很长时间都不用jquery了,有人问我jquery写三级联动的插件我就写好了发出来吧,正好需要的人都可以看看. 一.html代码 <!DOCTYPE html> <html> ...
- 原生javascript制作省市区三级联动详细教程
多级联动下拉菜单是前端常见的效果,省市区三级联动又属于其中最典型的案例.多级联动一般都是与数据相关联的,根据数据来生成和修改联动的下拉菜单.完成一个多级联动效果,有助于增强对数据处理的能力. 本实例以 ...
- laravel框架中容器类简化代码-摘自某书
<?php //容器类装实例或提供实例的回调函数 class Container { protected $bindings = []; //绑定接口和生成相应实例的回调函数 public fu ...
- Easyui表单,文本框,下拉菜单三级联动练习代码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 省份、城市、区县三级联动Html代码
<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content=& ...
- 三级联动(在YII框架中)
//三级联动 //数据库代码过多就不上传了 //视图 <div class="area"> <table class="table"&g ...
- vue+element实现省区市三级联动以及详细地址的输入
Vue+elementui实现省区市三级联动+详细地址的输入 详细需求,需要手动更改用户所在的地址. 安装依赖项 npm install element-china-area-data -S 在组建中 ...
- laravel框架安装过程中遇到的问题
1.安装laravel框架之前的必要环境 php环境:网上有集成好的服务器,例如wamp,phpstudy.当然你可以自己搭建属于自己的环境.其中php必须是7.1版本以上: compose:php的 ...
随机推荐
- Strimzi-Kafka-Operator外围小记
Strimzi-Kafka-Operator 从不同的角度看下Operator解决的问题 Kafka管理Operator-https://github.com/strimzi/strimzi-kafk ...
- class3
#include<stdio.h> #include<stdlib.h> #include<time.h> #include<windows.h> #d ...
- Pandas嵌套词典解析或取值
# tribe列只保留name 值 df['tribe']=df['tribe'].apply(lambda x:eval(x)['name']) # tribe 列全部项目展开 df=df['con ...
- IDEA: 如何导入项目模块 以及 将 Java程序打包 JAR 详细步骤
IDEA: 如何导入项目模块 以及 将 Java程序打包 JAR 详细步骤 . @ 目录 IDEA: 如何导入项目模块 以及 将 Java程序打包 JAR 详细步骤 IDEA 导入项目模块 Modul ...
- 关于两行代码让我时间无限拉长这件事------mainServlet
在再一次尝试实现增删改查的功能时,出现了一些BUG,修改功能一直实现不了,查了好久的资料,这才发现问题 如上图所示,这个Servlet里面定义的方法,虽然很短,但是重要的很奥,改了好久都没注意到这个问 ...
- Linux的文件权限管理
Linux文件权限管理介绍 一:Ubuntu 简介 1 .什么是Ubuntu Ubuntu是基于Debian开发的一个开源的Linux操作系统,Ubuntu这个名字名称来⾃⾮洲南部某种语言的一个词语, ...
- ACM需要知道的STL小技巧
天天用stl,但是有一些小技巧如果不知道,偶尔会导致TLE,这里说几个打比赛需要用到的. 主要是大概了解一下其底层原理:https://www.jianshu.com/p/834cc223bb57 就 ...
- 如何基于 React Native 快速实现一个视频通话应用
今天,我们将会一起开发一个包含 RTE (实时互动)场景的 Flutter 应用. 项目介绍 靠自研开发包含实时互动功能的应用非常繁琐,你要解决维护服务器.负载均衡等难题,同时还要保证稳定的低延迟. ...
- Opengl ES之矩阵变换(上)
前言 说到矩阵变换,我们第一时间想到的就是大学时代的线性代数这些复杂的东西,突然有了一种令人从入门到放弃的念头,不慌,作为了一个应用层的CV工程师, 在实际应用中线性代数哪些复杂的计算根本不用我们自己 ...
- Activiti 7 启动流程实例
首先,考虑下面这样一个流程图 主要的流程定义如下: <process id="demo" name="demo" isExecutable="t ...