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入门学习的几个不错的实例代码
Jul 13 PHP
php AJAX实例根据邮编自动完成地址信息
Nov 23 PHP
PHP获取文件绝对路径的代码(上一级目录)
May 29 PHP
PHP中include与require使用方法区别详解
Oct 19 PHP
php预定义变量使用帮助(带实例)
Oct 30 PHP
PHP实现把文本中的URL转换为链接的auolink()函数分享
Jul 29 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
Sep 24 PHP
19个Android常用工具类汇总
Dec 30 PHP
PHP实现表单提交时去除斜杠的方法
Dec 26 PHP
CI框架(CodeIgniter)公共模型类定义与用法示例
Aug 10 PHP
php中的explode()函数实例介绍
Jan 18 PHP
在TP5数据库中四个字段实现无限分类的示例
Oct 18 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
BBS(php &amp; mysql)完整版(六)
2006/10/09 PHP
php 读取shell管道传输过来的内容
2010/03/01 PHP
THINKPHP+JS实现缩放图片式截图的实现
2010/03/07 PHP
实用的简单PHP分页集合包括使用方法
2013/10/21 PHP
smarty中js的调用方法示例
2014/10/27 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
JS BASE64编码 window.atob(), window.btoa()
2021/03/09 Javascript
详解react-router4 异步加载路由两种方法
2017/09/12 Javascript
vue-devtools的安装步骤
2018/04/23 Javascript
详解webpack import()动态加载模块踩坑
2018/07/17 Javascript
Vue 3.0双向绑定原理的实现方法
2019/10/23 Javascript
[02:06]DOTA2肉山黑名单魔法终结者 敌法师中文配音鉴赏
2013/06/17 DOTA
python修改注册表终止360进程实例
2014/10/13 Python
跟老齐学Python之类的细节
2014/10/13 Python
Python字符串格式化%s%d%f详解
2018/02/02 Python
python中(str,list,tuple)基础知识汇总
2018/02/20 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
Python实现FM算法解析
2019/06/18 Python
python可视化爬虫界面之天气查询
2019/07/03 Python
基于python2.7实现图形密码生成器的实例代码
2019/11/05 Python
Flask项目中实现短信验证码和邮箱验证码功能
2019/12/05 Python
Python面向对象原理与基础语法详解
2020/01/02 Python
Visual Studio code 配置Python开发环境
2020/09/11 Python
python调用有道智云API实现文件批量翻译
2020/10/10 Python
用HTML5中的Canvas结合公式绘制粒子运动的教程
2015/05/08 HTML / CSS
澳大利亚最受欢迎的女士度假服装:Kabana Shop
2020/10/10 全球购物
写出二分查找算法的两种实现
2013/05/13 面试题
学前教育教师求职自荐信
2013/09/22 职场文书
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
学习党章思想汇报
2014/01/07 职场文书
会计与出纳自荐书范文
2014/03/16 职场文书
工商企业管理专业自荐信范文
2014/04/12 职场文书
《云房子》教学反思
2014/04/20 职场文书
超市商业计划书
2014/05/04 职场文书
十二生肖观后感
2015/06/12 职场文书
Java移除无效括号的方法实现
2021/08/07 Java/Android