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的 ...
随机推荐
- docker 镜像rabbitmq安装
docker 镜像rabbitmq安装 1.拉取镜像 带有"mangement"的版本(包含web管理页面): docker pull rabbitmq:3.7.7-managem ...
- selenium 设置时区
driver = webdriver.Chrome() tz_params = {'timezoneId': 'America/New_York'} driver.execute_cdp_cmd('E ...
- vuforia 打包IOS 第一次启动正常, 删掉过程重新启动初始化失败。
我使用的是2019.4.17版本,降级到2019.2.17问题解决
- [picoCTF]Insp3ct0r write up
根据提示,需要检查浏览器上的Web代码(动手翻译一下啦) (漫不经心的瞅瞅页面,curl+UUUUUUU(一只U就行)一下下,微微瞄一瞄,where is flag? fn+f12(或其它)打开源代码 ...
- 一个.Net Core开源缓存中间件,让你更加简单、方便使用缓存
上次给大家推荐过一个缓存中间件<一个C#开发的非常实用的缓存中间件>,今天再给大家推荐一个缓存中间件,两者功能差不多,都是提供统一接口.多级缓存.分布式缓存.支持多种Provider等. ...
- 使用go的并发性来解决Hilbert酒店问题
译自:Designing for Concurrency: the Hilbert's Hotel Problem in Go,本文使用go的并发性来解决Hilbert酒店问题.本文比较有意思的是它对 ...
- [Elixir/Erlang/Racket] 模式匹配,字符串,哈希表,格式化输出
https://leetcode.cn/problems/evaluate-the-bracket-pairs-of-a-string/solutions/2057593/s-by-yhm138_-n ...
- 搭建良好编写体验的webgl编程环境 vscode+vit
因为webgl代码是以字符串的形式嵌入在javascript代码中,这对于我们编写webgl代码的体验不友好,本文介绍如何搭建友好webgl编程环境: 需要安装的vscode插件 WebGL GLSL ...
- Linux基础知识归纳
1.Linux:Linux is not Unix.主要用于企业的服务器端.Windows不开源(系统价格大概2000左右,安装软件也特别贵,例如Offers就6000左右等).基于内核的操作系统(r ...
- ES6中的解构赋值(数组,对象,嵌套,默认值)
解构赋值 通过解构赋值,可以快速从对象或者数组中取出属性或者数值. 解构赋值 可以通过定位到数组或者对象的某一个位置,将值直接赋给一个或多个变量. const arr = ['dasha', 'ers ...