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 相关文章推荐
在任意字符集下正常显示网页的方法二(续)
Apr 01 PHP
php入门学习知识点七 PHP函数的基本应用
Jul 14 PHP
php模拟post行为代码总结(POST方式不是绝对安全)
Feb 22 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
Aug 13 PHP
php mail to 配置详解
Jan 16 PHP
php警告Creating default object from empty value 问题的解决方法
Apr 02 PHP
PHP合并discuz用户脚本的方法
Aug 04 PHP
PHP实现操作redis的封装类完整实例
Nov 14 PHP
非常经典的PHP文件上传类分享
May 15 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
Aug 28 PHP
PHP关于foreach复制知识点总结
Jan 28 PHP
PHP PDOStatement::getColumnMeta讲解
Feb 01 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 daodb插入、更新与删除数据
2009/03/19 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
2014/06/09 PHP
PHP 读取和编写 XML
2014/11/19 PHP
Yii2使用dropdownlist实现地区三级联动功能的方法
2016/07/18 PHP
php显示页码分页类的封装
2017/06/08 PHP
JavaScript入门教程(10) 认识其他对象
2009/01/31 Javascript
jQuery向上遍历DOM树之parents(),parent(),closest()之间的区别
2013/12/02 Javascript
jQuery实现ichat在线客服插件
2014/12/29 Javascript
AngularJS入门教程之表单校验用法示例
2016/11/02 Javascript
微信小程序之MaterialDesign--input组件详解
2017/02/15 Javascript
input框中自动展示当前日期yyyy/mm/dd的实现方法
2017/07/06 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
vue + element-ui实现简洁的导入导出功能
2017/12/22 Javascript
React组件中的this的具体使用
2018/02/28 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
angularjs 的数据绑定实现原理
2018/07/02 Javascript
微信小程序云开发之使用云数据库
2019/05/17 Javascript
vue mvvm数据响应实现
2020/11/11 Javascript
Python对数据库操作
2016/03/28 Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
2017/04/14 Python
django 2.0更新的10条注意事项总结
2018/01/05 Python
python Celery定时任务的示例
2018/03/13 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
2019/01/22 Python
Python实现合并excel表格的方法分析
2019/04/13 Python
Django将默认的SQLite更换为MySQL的实现
2019/11/18 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
2020/02/13 Python
德国家用电器购物网站:Premiumshop24
2019/08/22 全球购物
财务人员个人求职信范文
2013/12/04 职场文书
应届行政管理专业个人自我评价
2013/12/28 职场文书
人事专员岗位职责范本
2014/03/04 职场文书
心理健康活动总结
2014/04/30 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
2015年酒店工作总结
2015/04/28 职场文书
2016应届毕业生实习心得体会
2015/10/09 职场文书
创业计划书之便利店
2019/09/05 职场文书
5行Python代码实现一键批量扣图
2021/06/29 Python