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 相关文章推荐
PHP中在数据库中保存Checkbox数据(1)
Oct 09 PHP
探讨捕获php错误信息方法的详解
Jun 09 PHP
php中的filesystem文件系统函数介绍及使用示例
Feb 13 PHP
PHP使用Mysql事务实例解析
Sep 08 PHP
使用PHP进行微信公众平台开发的示例
Aug 21 PHP
php时间函数用法分析
May 28 PHP
PHP入门教程之PHP操作MySQL的方法分析
Sep 11 PHP
PHP对称加密函数实现数据的加密解密
Oct 27 PHP
完美解决php 导出excle的.csv格式的数据时乱码问题
Feb 18 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
Aug 17 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
PHP使用redis位图bitMap 实现签到功能
Oct 08 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 图片文件上传实现代码
2010/12/29 PHP
PHP图片验证码制作实现分享(全)
2012/05/10 PHP
PHP解析目录路径的3个函数总结
2014/11/18 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
jquery的extend和fn.extend的使用说明
2011/01/09 Javascript
JQuery.Ajax之错误调试帮助信息介绍
2013/07/04 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
2014/01/09 Javascript
js实现左侧网页tab滑动门效果代码
2015/09/06 Javascript
批量下载对路网图片并生成html的实现方法
2016/06/07 Javascript
JS中split()用法(将字符串按指定符号分割成数组)
2016/10/24 Javascript
nodejs 简单实现动态html的方法
2018/05/12 NodeJs
Node.js npm命令运行node.js脚本的方法
2018/10/10 Javascript
layui table表格数据的新增,修改,删除,查询,双击获取行数据方式
2019/11/14 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
Vue项目页面跳转时浏览器窗口上方显示进度条功能
2020/03/26 Javascript
python之yield表达式学习
2014/09/02 Python
Python函数式编程指南(一):函数式编程概述
2015/06/24 Python
Pandas GroupBy对象 索引与迭代方法
2018/11/16 Python
python数据类型之间怎么转换技巧分享
2019/08/20 Python
Python更新所有已安装包的操作
2020/02/13 Python
Python环境下安装PyGame和PyOpenGL的方法
2020/03/25 Python
使用python客户端访问impala的操作方式
2020/03/28 Python
在 Python 中使用 7zip 备份文件的操作
2020/12/11 Python
numba提升python运行速度的实例方法
2021/01/25 Python
Javascript 高级手势使用介绍
2013/04/21 HTML / CSS
HTML5 文件域+FileReader 分段读取文件并上传到服务器
2017/10/23 HTML / CSS
德国网上宠物店:Zoobio
2018/05/23 全球购物
软件测试笔试题
2012/10/25 面试题
党员领导干部承诺书
2014/05/28 职场文书
公务员上班玩游戏检讨书
2014/09/17 职场文书
影视后期实训报告
2014/11/05 职场文书
乡镇司法所2015年度工作总结
2015/10/14 职场文书
优秀学生干部主要事迹材料
2015/11/04 职场文书
2016年基层党支部书记公开承诺书
2016/03/25 职场文书
Win10 和 Win11可以共存吗? win10/11产品生命周期/服务更新介绍
2021/11/21 数码科技