Laravel框架基于ajax实现二级联动功能示例


Posted in PHP onJanuary 17, 2019

本文实例讲述了Laravel框架基于ajax实现二级联动功能。分享给大家供大家参考,具体如下:

1、html页面:

<div class="form-group">
   <label for="rule">过期规则:</label>
   <select name="rule" id="rule" class="form-control" style="width:20%; margin-right: 40px;">
    <option value="0" rule_id="0">请选择规则</option>
    @foreach($rules as $rule)
       <option value="{{ $rule->value }}" rule_id="{{ $rule->id }}">{{ $rule->name }}</option>
    @endforeach
   </select>
   <label for="time">过期倍数:</label>
   <select name="time" id="time" class="form-control" style="width:20%;">
     <option value="0">请选择倍数</option>
   </select>
   <span id="auto"></span>
</div>

过期规则是在页面加载时,便已经从数据表中取出来放进去了:

$projects = Project::all();
$rules = Rule::all();
return view('key.create', compact('projects', 'rules'));

2、ajax代码:

$("#rule").change(function() {
  $.post("{{ url('key/createTime') }}/"+$(this).find("option:selected").attr("rule_id"), {
    "_token": "{{ csrf_token() }}"
  }, function(data) {
    $("#time").html("<option value='0' name='time'>请选择倍数</option>");
    if(data.value == 0) { // 当选择请选择规则时,不会向下执行
      return false;
    }
    $.each(data, function(i, time) {
      $("#time").append("<option value='" + time.value + "'>" + time.value + "</option>");
    });
    $("#time").append("<option id='auto_time'>自定义</option>");
  });
});

当过期规则改变时,将id传到createTime()方法中

3、createTime()方法:

public function createTime($rule_id)
{  // 当选中的为请选择规则时,自己拼一个数据,当success时,判断
 if ($rule_id == 0) {
   return ['id'=>0, 'value'=>0, 'rule_id'=>0];
 }
 $times = Rule::find($rule_id)->time;
 return $times;
}

对$times的处理:rule和time表是一对多的关系:

public function time()
{
    return $this->hasMany(\App\Model\Time::class, 'rule_id', 'id');
}

4、效果:

Laravel框架基于ajax实现二级联动功能示例

Laravel框架基于ajax实现二级联动功能示例

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
附件名前加网站名
Mar 23 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
Jun 27 PHP
php preg_replace替换实例讲解
Nov 04 PHP
如何实现php图片等比例缩放
Jul 28 PHP
PHP中strcmp()和strcasecmp()函数字符串比较用法分析
Jan 07 PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
Feb 04 PHP
PHP 爬取网页的主要方法
Jul 13 PHP
PHP实现的用户注册表单验证功能简单示例
Feb 25 PHP
thinkPHP和onethink微信支付插件分享
Aug 11 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 PHP
PHP实现创建一个RPC服务操作示例
Feb 23 PHP
Laravel中如何轻松容易的输出完整的SQL语句
Jul 26 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
Jan 17 #PHP
strpos() 函数判断字符串中是否包含某字符串的方法
Jan 16 #PHP
Laravel框架实现的批量删除功能示例
Jan 16 #PHP
Laravel框架实现的rbac权限管理操作示例
Jan 16 #PHP
PHP基于cookie实现统计在线人数功能示例
Jan 16 #PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
Jan 15 #PHP
对php 判断http还是https,以及获得当前url的方法详解
Jan 15 #PHP
You might like
php和数据库结合的一个简单的web实例 代码分析 (php初学者)
2011/07/28 PHP
PHP 快速排序算法详解
2014/11/10 PHP
php校验表单检测字段是否为空的方法
2015/03/20 PHP
php多重接口的实现方法
2015/06/20 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
ThinkPHP5框架缓存查询操作分析
2018/05/30 PHP
PHP实现的多进程控制demo示例
2019/07/22 PHP
Extjs入门之动态加载树代码
2010/04/09 Javascript
javascript设计模式之对象工厂函数与构造函数详解
2015/07/30 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
2015/12/30 Javascript
js实现可键盘控制的简单抽奖程序
2016/07/13 Javascript
jQuery插件FusionCharts绘制的3D双柱状图效果示例【附demo源码】
2017/04/20 jQuery
详解react使用react-bootstrap当轮子造车
2017/08/15 Javascript
vue-resource拦截器设置头信息的实例
2017/10/27 Javascript
微信小程序实现image组件图片自适应宽度比例显示的方法
2018/01/16 Javascript
详解Immutable及 React 中实践
2018/03/01 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
python实现用户登陆邮件通知的方法
2015/07/09 Python
对python抓取需要登录网站数据的方法详解
2018/05/21 Python
深入理解Python中的 __new__ 和 __init__及区别介绍
2018/09/17 Python
django模板加载静态文件的方法步骤
2019/03/01 Python
python递归法解决棋盘分割问题
2019/07/17 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
2020/01/20 Python
python入门之基础语法学习笔记
2020/02/08 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
Python使用re模块验证危险字符
2020/05/21 Python
pytorch中的weight-initilzation用法
2020/06/24 Python
印度在线购物网站:Paytmmall
2019/07/24 全球购物
逃课上网检讨书
2014/02/20 职场文书
戒毒悔改检讨书
2014/09/21 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书
公司仓库管理制度
2015/08/04 职场文书
Django集成富文本编辑器summernote的实现步骤
2021/05/31 Python
一文搞懂python异常处理、模块与包
2021/06/26 Python
总结python多进程multiprocessing的相关知识
2021/06/29 Python
微前端qiankun改造日渐庞大的项目教程
2022/06/21 Javascript