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 相关文章推荐
Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
Jun 08 PHP
PHP转换IP地址到真实地址的方法详解
Jun 09 PHP
php实现parent调用父类的构造方法与被覆写的方法
Feb 11 PHP
Mac OS下配置PHP+MySql环境
Feb 25 PHP
详解PHP中的mb_detect_encoding函数使用方法
Aug 18 PHP
PHP简单创建压缩图的方法
Aug 24 PHP
php中实现进程锁与多进程的方法
Sep 18 PHP
Yii框架实现邮箱激活的方法【数字签名】
Oct 18 PHP
thinkPHP中配置的读取与C方法详解
Dec 05 PHP
php curl常用的5个经典例子
Jan 20 PHP
详解PHP5.6.30与Apache2.4.x配置
Jun 02 PHP
PHP注释语法规范与命名规范详解篇
Jan 21 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
声音就能俘获人心,蕾姆,是哪个漂亮小姐姐配音呢?
2020/03/03 日漫
用PHP提取中英文词语以及数字的首字母的方法介绍
2013/04/23 PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
2014/08/18 PHP
Joomla使用Apache重写模式的方法
2016/05/04 PHP
WordPress伪静态规则设置代码实例
2020/12/10 PHP
JQuery 弹出框定位实现方法
2010/12/02 Javascript
js实现页面转发功能示例代码
2013/08/05 Javascript
JS禁用浏览器退格键实现思路及代码
2013/10/29 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
javascript中解析四则运算表达式的算法和示例
2014/08/11 Javascript
基于node.js依赖express解析post请求四种数据格式
2017/02/13 Javascript
你真的了解BOM中的history对象吗
2017/02/13 Javascript
VUE开发一个图片轮播的组件示例代码
2017/03/06 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
在vue项目中使用sass的配置方法
2018/03/20 Javascript
利用npm 安装删除模块的方法
2018/05/15 Javascript
vue计算属性get和set用法示例
2019/02/08 Javascript
Vue实现类似Spring官网图片滑动效果方法
2019/03/01 Javascript
Vue 事件处理操作实例详解
2019/03/05 Javascript
JavaScript判断浏览器版本的方法
2019/11/03 Javascript
修改NPM全局模式的默认安装路径的方法
2020/12/15 Javascript
[48:37]EG vs OG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
PyQt5每天必学之弹出消息框
2018/04/19 Python
numpy matrix和array的乘和加实例
2018/06/28 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
Django框架自定义模型管理器与元选项用法分析
2019/07/22 Python
KIKO比利时官网:意大利彩妆品牌
2017/07/23 全球购物
同步和异步有何异同,在什么情况下分别使用他们?举例说明
2014/02/27 面试题
渗透攻击的测试步骤
2014/06/07 面试题
医学专业毕业生个人的求职信
2013/12/04 职场文书
大型活动策划方案
2014/01/12 职场文书
师德演讲稿范文
2014/05/06 职场文书
亲子阅读的活动方案
2014/08/15 职场文书
2014年技术员工作总结
2014/11/18 职场文书
网络营销计划
2015/01/17 职场文书
go:垃圾回收GC触发条件详解
2021/04/24 Golang