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的 ...
随机推荐
- Git在使用过程中遇到的一些问题
git默认对文件中的大小写不敏感. 方案1: 通过配置git来达到识别文件大小写的问题.命令如下: git config core.ignorcecase false 缺点:每个仓库都需要修改. 方案 ...
- VulnHub靶场练习之 grotesque:2
步骤1:信息收集 拿到靶机首先看一下开放的端口 可以看到开放了很多端口 比如22 ssh.80 http等等 那么就先访问一下80看一下 页面没有什么有用的东西 查看一下网页源代码 也没有找到什么有价 ...
- For循环用法-打印乘法表
for循环可以遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次).for循环的结构如下 具体例子打印乘法表: #打印乘法表: for i in range(1, ...
- python-if、while、for语句的练习
简单练习 1. 根据百分制成绩打印及格和不及格,60分一下不及格 source = float(input('请输入您的成绩:')) if 0 <= source < 60: print( ...
- (1)入门MasaFramework教程
(1)入门MasaFramework教程 首先了解一下MasaFramework是什么 MasaFramework是一个基于.Net6.0的后端框架, 可以被用于开发Web应用程序.WPF项目.控制台 ...
- 什么是Markdown
什么是markdown? Markdown是一种轻量级标记语言,它允许人们使用已读一些的纯文本格式编写文档,然后转换成有效的XHTML(或者HTML)文档.这种语言吸收了很多在电子邮件中已有的纯文本标 ...
- Javaweb学习笔记第十六弹--Vue、Element
Vue(一套前端框架,MVVM主要用于实现数据的双向绑定) Vue快速入门 //新建HTML页面,引入Vue.js文件 <script src="js.Vue.js"> ...
- 分布式缓存的一致性 Hash 算法
一.使用一致性 Hash 算法的原因 简单的路由算法可以使用余数 Hash:用服务器数据除缓存数据 KEY 的 Hash 值,余数为服务器列表下标编码.这种算法可以满足大多数的缓存路由需求.但是,当分 ...
- ES(ECMAScript)标准下中的let、var和const
ES标准下中的let,var和const let会报重复声明,var则比较随意,重不重复无所谓 // 使用 var 的时候重复声明变量是没问题的,只不过就是后面会把前面覆盖掉 var num = 10 ...
- Service Mesh之Istio基础入门
技术背景 分布式服务治理 所谓分布式服务治理就是对服务不断增长的复杂度的管控和管理:管控及管理包含网络拓扑变动.网络延时.通信安全.API网关.服务注册和发现.服务熔断容错.服务超时重试.服务部署.数 ...