首先将省市区的数据存储到数据库中

sql文件地址:http://m.caomeipi.com/

html

<select name="province" style="width: 150px;" class="province form-control">
<option>==请选择省==</option>
@foreach($province as $item)
<option value="{{ $item->id }}">{{ $item->name }}</option>
@endforeach
</select>
<select name="city" style="width: 150px;" class="city">
<option value="0">==市==</option>
</select>
<select name="area" style="width: 150px;" class="area">
<option value="0">==区/县==</option>
</select>

js

<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
<script type="application/javascript">
$(function () {
//当省选项值发生变化的时候,发送ajax请求,获取对应的市区信息,并渲染
$('.province').change(function () {
var province = $(this).val(); $.ajax({
//请求方式
type : "get",
//请求的媒体类型
contentType: "application/json;charset=UTF-8",
//请求地址
url : "getcity",
//数据,json字符串
data : {
"province":province
},
//请求成功
dataType:"json",
success : function(result) {
//console.log(result)
if(result.status == 0)
{
var citys = result.data; var optionstr = "";
//渲染city选择框
for(var i = 0; i < citys.length; i++)
{
var city = citys[i];
optionstr += "<option value='" + city.id + "'>" + city.name + "</option>";
}
$('.city').html(optionstr);
}
else
{
alert(result.message);
}
},
//请求失败,包含具体的错误信息
error : function(e){
console.log(e.status);
console.log(e.responseText);
}
});
})
})
$(function () {
//当市选项值发生变化的时候,发送ajax请求,获取对应的区信息,并渲染
$('.city').change(function () {
var city = $(this).val();
console.log(city);
$.ajax({
//请求方式
type : "get",
//请求的媒体类型
contentType: "application/json;charset=UTF-8",
//请求地址
url : "getarea",
//数据,json字符串
data : {"city":city},
//请求成功
dataType:"json",
success : function(result) {
//console.log(result)
if(result.status == 0)
{
var areas = result.data;
console.log(areas);
var optionstr = "";
//渲染city选择框
for(var i = 0; i < areas.length; i++)
{
var area = areas[i]; optionstr += "<option value='" + area.id + "'>" + area.name + "</option>";
} $('.area').html(optionstr); }
else
{
alert(result.message);
} },
//请求失败,包含具体的错误信息
error : function(e){
console.log(e.status);
console.log(e.responseText);
}
});
})
}) </script>

controller

//添加页面 并获取省的信息
public function addpaper(){
$province = DB::table('region')->where('pid',100000)->get();
return view('addpaper',compact('province'));
}
//市三级联动
public function getCity(Request $request)
{
$province = $request['province'];
$citys = DB::table('region')->where('pid','=',$province)->get()->toArray();
return json_encode(['status' => 0, 'data' => $citys]);
}
//区三级联动
public function getArea(Request $request)
{
$city = $request['city'];
$area = DB::table('region')->where('pid','=',$city)->get()->toArray();
return json_encode(['status' => 0, 'data' => $area]);
}

laravel ajax 实现省市区三级联动的更多相关文章

  1. 第117天:Ajax实现省市区三级联动

    Ajax实现省市区三级联动 思路: (1)首先获取省份信息 (2)发起Ajax请求,注意dataType中的T大写 (3)封装回调函数,回调函数success中用$.each循环每一条数据,动态创建o ...

  2. 基于ThinkPHP+AJAX的省市区三级联动

    练习,就当练习. 省市区三级联动,样式如下图所示: 1,导入两个js文件并且导入数据库文件. 两个js文件分别是jquery-2.1.4.min.js和jquery-1.js,数据库文件,见附件. 2 ...

  3. 基于thinkphp和ajax的省市区三级联动

    练习,就当练习. 省市区三级联动,样式如下图所示: 1,导入两个js文件并且导入数据库文件. 两个js文件分别是jquery-2.1.4.min.js和jquery-1.js,数据库文件,见附件. 2 ...

  4. (jquery+ajax)省市区三级联动(封装和不封装两种方式)-----2017-05-14

    首先,要实现如下图效果, 1.要理清思路: 先做出三个下拉菜单----根据第一个下拉菜单的value值获取第二个下拉列表的内容,第三个同理. 2.用到的数据库表:Chinastates表 规律:根据国 ...

  5. ajax省市区三级联动

    jdbc+servlet+ajax开发省市区三级联动 技术点:jdbc操作数据库,ajax提交,字符拦截器,三级联动 特点:局部刷新达到省市区三级联动,举一反三可以做商品分类等 宗旨:从实战中学习 博 ...

  6. Ajax来实现下拉框省市区三级联动效果(服务端基于express)

    //服务端JS代码: //提供服务端的处理 const express = require('express'); const fs = require('fs'); const app = expr ...

  7. 使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能

    使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能 要求:写一个省市区(或者年月日)的三级联动,实现地区或时间的下拉选择. 实现技术:php ajax 实现:省级下拉变化时市下拉区下 ...

  8. JS省市区三级联动

    不需要访问后台服务器端,不使用Ajax,无刷新,纯JS实现的省市区三级联动. 当省市区数据变动是只需调正js即可. 使用方法: <!DOCTYPE html><html>< ...

  9. 省市区三级联动(二)JS部分简单版

    通过对上一篇<省市区三级联动>的学习发现JScript部分省市区的填充代码几乎相同,所以可以写成一个函数. 注意:html部分和chuli.php部分不变 1.下拉列表填充可以写成带参数的 ...

  10. 【JavaScript&jQuery】省市区三级联动

    HTML: <%@page import="com.mysql.jdbc.Connection"%> <%@ page language="java&q ...

随机推荐

  1. mysql随机返回一条数据

    select * from biz_question ORDER BY RAND(id) LIMIT 1; SELECT * FROM biz_question AS t1 JOIN (SELECT ...

  2. 蓝牙mesh组网实践(mesh组网的评估与沁恒蓝牙芯片选型)

    目录 沁恒的组网方式主要有2.4G私有协议组网和BLE mesh组网两大类.2.4G私有协议组网灵活性相对较高,对开发者的要求也相对较高.mesh组网本身有一系列规范,考虑到了可靠性.安全性.功能性等 ...

  3. HJ92 在字符串中找出连续最长的数字串

    描述 输入一个字符串,返回其最长的数字子串,以及其长度.若有多个最长的数字子串,则将它们全部输出(按原字符串的相对位置) 本题含有多组样例输入. 输入描述: 输入一个字符串. 输出描述: 输出字符串中 ...

  4. IIS7无法访问.apk文件的解决方法

    随着智能手机的普及,越来越多的人使用手机上网,很多网站也应手机上网的需要推出了网站客户端,.apk文件就是安卓(Android)的应用程序后缀名,默认情况下,使用IIS作为Web服务器的无法访问下载此 ...

  5. 执行 dataX 数据同步命令

    :: 执行 dataX 数据同步命令 @echo off set day_interval=7@echo =========开始执行dataX数据同步========= @echo 时间周期为最近%d ...

  6. Windows10使用WSL(Windows Subsystem for Linux)

    官方页面地址:https://docs.microsoft.com/zh-cn/windows/wsl/ 查看WSL的IP地址:ip addr | grep eth0 下面是一个示例 PowerShe ...

  7. kafka配置内外网同时访问

    #内网监听名称,这个在配置文件中没有需要添加 inter.broker.listener.name=INTERNAL #内网监听规则,第一个是内网,第二个是外网,注意端口不一样,端口可以自己定义 li ...

  8. Ubuntu 复制粘贴快捷键

    打开命令行terminal ctrl+alt+t 复制粘贴 ctrl+shift+c ctrl+shift+v /usr/share/applications/ 这个文件夹可以创建桌面快捷方式 换源 ...

  9. mongodb-命令小结

    小白暂时在这里记录些涉及到的 在某条记录添加一个字段: 先查询_id: db.subscriptions.find({"channel":"parking.notify. ...

  10. 转载-GNSS缩写

    GNSS常用的缩略语汇总,可能不全,但会不断丰富,欢迎各位批评指正!! 1|01.大表格 缩略语 全称 中文 ADOP ambiguity dilution of precision 模糊度精度因子 ...