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获取url字符串截取路径的文件名和扩展名的函数
Jan 22 PHP
PHP中实现汉字转区位码应用源码实例解析
Jun 14 PHP
php正则表达匹配中文问题分析小结
Mar 25 PHP
php实现memcache缓存示例讲解
Dec 04 PHP
用php简单实现加减乘除计算器
Jan 06 PHP
php smarty模板引擎的6个小技巧
Apr 24 PHP
smarty中post用法实例
Nov 28 PHP
thinkphp缓存技术详解
Dec 09 PHP
基于JQuery+PHP编写砸金蛋中奖程序
Sep 08 PHP
Yii2.0中使用js异步删除示例
Mar 10 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
php 的多进程操作实践案例分析
Feb 28 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/10/12 PHP
php去除字符串中空字符的常用方法小结
2015/03/17 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
2015/10/16 PHP
Javascript document.referrer判断访客来源网址
2020/05/15 Javascript
Extjs NumberField后面加单位实现思路
2013/07/30 Javascript
js 三级关联菜单效果实例
2013/08/13 Javascript
jquery 根据name名获取元素的value值
2015/02/27 Javascript
理解javascript中的严格模式
2016/02/01 Javascript
简单了解Backbone.js的Model模型以及View视图的源码
2016/02/14 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
浅析JavaScript中break、continue和return的区别
2016/11/30 Javascript
ES6学习教程之对象字面量详解
2017/10/09 Javascript
js原生方法被覆盖,从新赋值原生的方法
2018/01/02 Javascript
微信小程序wx:for和wx:for-item的用法详解
2018/04/01 Javascript
Bootstrap Table列宽拖动的方法
2018/08/15 Javascript
浅析vue给不同环境配置不同打包命令
2018/08/17 Javascript
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
[59:59]EG vs IG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python实现删除文件但保留指定文件
2015/06/21 Python
读取本地json文件,解析json(实例讲解)
2017/12/06 Python
python 读取修改pcap包的例子
2019/07/23 Python
Pytorch自己加载单通道图片用作数据集训练的实例
2020/01/18 Python
Python如何实现FTP功能
2020/05/28 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
Python __slots__的使用方法
2020/11/15 Python
CSS3中background-clip和background-origin的区别示例介绍
2014/03/10 HTML / CSS
html5 canvas绘制矩形和圆形的实例代码
2016/06/16 HTML / CSS
财务信息服务专业自荐书范文
2014/02/08 职场文书
文明寝室申报材料
2014/05/12 职场文书
道德演讲稿
2014/05/21 职场文书
酒店节能减排方案
2014/05/26 职场文书
教师自查自纠工作情况报告
2014/10/29 职场文书
吧主申请感言怎么写
2015/08/03 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL
Python实现简单得递归下降Parser
2022/05/02 Python