laravel ajax 实现省市区三级联动
首先将省市区的数据存储到数据库中
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 实现省市区三级联动的更多相关文章
- 第117天:Ajax实现省市区三级联动
Ajax实现省市区三级联动 思路: (1)首先获取省份信息 (2)发起Ajax请求,注意dataType中的T大写 (3)封装回调函数,回调函数success中用$.each循环每一条数据,动态创建o ...
- 基于ThinkPHP+AJAX的省市区三级联动
练习,就当练习. 省市区三级联动,样式如下图所示: 1,导入两个js文件并且导入数据库文件. 两个js文件分别是jquery-2.1.4.min.js和jquery-1.js,数据库文件,见附件. 2 ...
- 基于thinkphp和ajax的省市区三级联动
练习,就当练习. 省市区三级联动,样式如下图所示: 1,导入两个js文件并且导入数据库文件. 两个js文件分别是jquery-2.1.4.min.js和jquery-1.js,数据库文件,见附件. 2 ...
- (jquery+ajax)省市区三级联动(封装和不封装两种方式)-----2017-05-14
首先,要实现如下图效果, 1.要理清思路: 先做出三个下拉菜单----根据第一个下拉菜单的value值获取第二个下拉列表的内容,第三个同理. 2.用到的数据库表:Chinastates表 规律:根据国 ...
- ajax省市区三级联动
jdbc+servlet+ajax开发省市区三级联动 技术点:jdbc操作数据库,ajax提交,字符拦截器,三级联动 特点:局部刷新达到省市区三级联动,举一反三可以做商品分类等 宗旨:从实战中学习 博 ...
- Ajax来实现下拉框省市区三级联动效果(服务端基于express)
//服务端JS代码: //提供服务端的处理 const express = require('express'); const fs = require('fs'); const app = expr ...
- 使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能 要求:写一个省市区(或者年月日)的三级联动,实现地区或时间的下拉选择. 实现技术:php ajax 实现:省级下拉变化时市下拉区下 ...
- JS省市区三级联动
不需要访问后台服务器端,不使用Ajax,无刷新,纯JS实现的省市区三级联动. 当省市区数据变动是只需调正js即可. 使用方法: <!DOCTYPE html><html>< ...
- 省市区三级联动(二)JS部分简单版
通过对上一篇<省市区三级联动>的学习发现JScript部分省市区的填充代码几乎相同,所以可以写成一个函数. 注意:html部分和chuli.php部分不变 1.下拉列表填充可以写成带参数的 ...
- 【JavaScript&jQuery】省市区三级联动
HTML: <%@page import="com.mysql.jdbc.Connection"%> <%@ page language="java&q ...
随机推荐
- Pytest之生成allure报告
一.前戏 在之前我们已经学会使用 pytest-html 插件生成 html 格式的测试报告: 1 # 第一步,安装插件 2 pip install pytest-html 3 4 # 第二步,执 ...
- apollo兼容mysql的时候报错Table 'apolloportaldb.hibernate_sequence' doesn't exist
解决方案: 配置文件里加: spring.jpa.properties.hibernate.hbm2ddl.auto=update
- java.net.ConnectException: Your endpoint configuration is wrong; For more details see: http://wiki.apache.org/hadoop/UnsetHostnameOrPort
今天使用在hive中建表,并在hive中将查询到的语句插入到新表中时,一直开在如图所示位置不动 等待了20多分钟,然后报了这么个错 java.net.ConnectException: Your en ...
- shell_Day03
嗯,这是第二天,吧 wc word count 统计文本文件中的字符个数 -l 查看行数 -w 查看字符个数 -c 查看文件大小(字节) cut 用来分割文件内容 -d 指定分隔符,delimit ...
- 一套.NET Core +WebAPI+Vue前后端分离权限框架
今天给大家推荐一个基于.Net Core开发的企业级的前后端分离权限框架. 项目简介 这是基于.NetCore开发的.构建的简单.跨平台.前后端分离的框架.此项目代码清晰.层级分明.有着完善的权限功能 ...
- 小程序隐藏scroll-view滚动条的方法
在wxss文件上加上 ::-webkit-scrollbar{ width: 0; height: 0; color: transparent; }
- 关于WPF的圆角
失败案例 <Border CornerRadius="3" Width="100" Height="100"> <Stac ...
- go-使用 vscore 调试 go 语言
{ // 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述. // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linki ...
- 黑马程序员Javaweb综合案例错误总结整理
案例整理(呕心沥血的教训) 其他的我大部分还是不知道那里出了问了,我这个新建的项目must3终于成功了 那个品牌名称和企业名称没有,是要在BrandMapper里加注解@ResultMap 一直报那个 ...
- vue3文档学习
1.vue的核心功能 1.声明式渲染2.响应性: vue会自动跟踪JavaScript状态并在其发生变化时响应式的更新DOM. 2.渐进式框架 根据不同的需求场景,可以用不同的方式使用vue: 1.无 ...