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实现多服务器session共享之NFS共享的方法
Mar 16 PHP
在同一窗体中使用PHP来处理多个提交任务
May 08 PHP
初学CAKEPHP 基础教程
Nov 02 PHP
PHP 图像尺寸调整代码
May 26 PHP
三个类概括PHP的五种设计模式
Sep 05 PHP
php对csv文件的读取,写入,输出下载操作详解
Aug 10 PHP
CodeIgniter启用缓存和清除缓存的方法
Jun 12 PHP
destoon实现会员商铺中指定会员或会员组投放广告的方法
Aug 21 PHP
CI框架给视图添加动态数据
Dec 01 PHP
php 判断页面或图片是否经过gzip压缩的方法
Apr 05 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
Mar 09 PHP
微信小程序结合ThinkPHP5授权登陆后获取手机号
Nov 23 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
构建简单的Webmail系统
2006/10/09 PHP
一些常用的php函数
2006/12/06 PHP
php中长文章分页显示实现代码
2012/09/29 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
PHP中数组转换为SimpleXML教程
2019/01/27 PHP
检测是否已安装 .NET Framework 3.5的js脚本
2009/02/14 Javascript
jQuery 全选效果实现代码
2009/03/23 Javascript
12个非常有创意的JavaScript小游戏
2010/03/18 Javascript
jquery miniui 教程 表格控件 合并单元格应用
2012/11/25 Javascript
IE与FireFox的JavaScript兼容问题解决办法
2013/12/31 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
2014/03/22 Javascript
浅谈Javascript Base64 加密解密
2014/12/28 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)
2016/12/14 Javascript
JS实现的简单拖拽购物车功能示例【附源码下载】
2018/01/03 Javascript
基于vue和react的spa进行按需加载的实现方法
2018/09/29 Javascript
vue打包之后生成一个配置文件修改接口的方法
2018/12/09 Javascript
[04:44]DOTA2 2017全国高校联赛视频回顾
2017/08/21 DOTA
[01:52]深扒TI7聊天轮盘语音出处7
2017/05/11 DOTA
python中关于日期时间处理的问答集锦
2013/03/08 Python
python调用fortran模块
2016/04/08 Python
python 统计代码行数简单实例
2017/05/04 Python
python读写csv文件方法详细总结
2019/07/05 Python
浅谈对pytroch中torch.autograd.backward的思考
2019/12/27 Python
python_mask_array的用法
2020/02/18 Python
Python如何设置指定窗口为前台活动窗口
2020/08/12 Python
捷克鲜花配送:Florea.cz
2018/10/29 全球购物
锐步英国官网:Reebok英国
2019/11/29 全球购物
保送生自荐信范文
2013/10/06 职场文书
行政助理岗位职责
2013/11/10 职场文书
会计专业自我鉴定范文
2013/12/29 职场文书
小学数学教学经验交流材料
2014/05/22 职场文书
事业单位年度考核评语
2014/12/31 职场文书
Python 循环读取数据内存不足的解决方案
2021/05/25 Python