laravel-admin解决表单select联动时,编辑默认没选上的问题


Posted in PHP onSeptember 30, 2019

今天在开发公司一个功能时,公司开发环境用的是laravel-admin,因为需要用上select联动,所以根据文档说明进行开发,并成功的使用上了,代码我就不重复,大家可以去参考laravel-admin官网的说明。

首先我们找到select的js,路径:跟目录/vendor/encore/laravel-admin/src/Form/Field下的Select.php文件,找到下面代码:

$script = <<<EOT
$(document).on('change', "{$this->getElementClassSelector()}", function () {
 var target = $(this).closest('.fields-group').find(".$class");
 $.get("$sourceUrl?q="+this.value, function (data) {
  target.find("option").remove();
  $(target).select2({
   data: $.map(data, function (d) {
    d.id = d.$idField;
    d.text = d.$textField;
    return d;
   })
  }).trigger('change');
 });
});
 
EOT;

并修改成以下代码:

$script = <<<EOT
$(document).on('change', "{$this->getElementClassSelector()}", function () {
 var target = $(this).closest('.fields-group').find(".$class");
 $.get("$sourceUrl?q="+this.value, function (data) {
  target.find("option").remove();
  $(target).select2({
   data: $.map(data, function (d) {
    d.id = d.$idField;
    d.text = d.$textField;
    return d;
   })
  }).trigger('change');
 });
});
 
$('{$this->getElementClassSelector()}').trigger('change');
 
EOT;

我们在原有代码中加入这句:

$('{$this->getElementClassSelector()}').trigger('change');

作用就是在初始化的时候触发一次联动。

然后在我们的表单中,我们再来定义编辑初始时候的值,代码如下:

$form->select('hezuo', "合作模式")->options(function () {
 $record = request()->route()->parameters();
 $record = $record["chanpin"];
 $data = ChanpinModel::where('id', $record)->first();
 $hezuoList = array(
  "1" => '测试1',
  "2" => '测试2',
  "3" => '测试3',
  );
 $hezuo = $data->hezuo;
 return [$hezuo => $hezuoList[$hezuo]];
});

这段代码是根据当前记录的值,去获取对应所属那个选项,这样便使select联动编辑时,能够默认选上我们的值。

以上这篇laravel-admin解决表单select联动时,编辑默认没选上的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
Nov 02 PHP
php自动加载autoload机制示例分享
Feb 20 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十二)
Jun 25 PHP
ThinkPHP实现动态包含文件的方法
Nov 29 PHP
php防止sql注入简单分析
Mar 18 PHP
php上传功能集后缀名判断和随机命名(强力推荐)
Sep 10 PHP
Yii2分页的使用及其扩展方法详解
May 23 PHP
php操作xml并将其插入数据库的实现方法
Sep 08 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
Jan 28 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
Jan 26 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
May 27 PHP
如何在PHP中读写文件
Sep 07 PHP
laravel-admin的图片删除实例
Sep 30 #PHP
laravel-admin的多级联动方法
Sep 30 #PHP
php更新cookie内容的详细方法
Sep 30 #PHP
使用laravel的migrate创建数据表的方法
Sep 30 #PHP
Yii2.0框架behaviors方法使用实例分析
Sep 30 #PHP
php解决约瑟夫环算法实例分析
Sep 30 #PHP
php使用curl伪造浏览器访问操作示例
Sep 30 #PHP
You might like
php中大括号作用介绍
2012/03/22 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
2019/10/17 PHP
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
js实现页面打印功能实例代码(附去页眉页脚功能代码)
2009/12/15 Javascript
JavaScript中实现块作用域的方法
2010/04/01 Javascript
Jquery练习之表单验证实现代码
2010/12/14 Javascript
jQuery 开发者应该注意的9个错误
2012/05/03 Javascript
javascript中setAttribute()函数使用方法及兼容性
2015/07/19 Javascript
深入理解React中es6创建组件this的方法
2016/08/29 Javascript
JavaScript 中对象的深拷贝
2016/12/04 Javascript
几行js代码实现自适应
2017/02/24 Javascript
JavaScript实现自动跳转文本功能
2017/05/25 Javascript
解决JS内存泄露之js对象和dom对象互相引用问题
2017/06/25 Javascript
Bootstrap图片轮播效果详解
2017/10/17 Javascript
微信小程序progress组件使用详解
2018/01/31 Javascript
JS中验证整数和小数的正则表达式
2018/10/08 Javascript
vue分页插件的使用方法
2019/12/25 Javascript
python3.4下django集成使用xadmin后台的方法
2017/08/15 Python
Python3操作SQL Server数据库(实例讲解)
2017/10/21 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
谈谈python中GUI的选择
2018/03/01 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
解决pandas .to_excel不覆盖已有sheet的问题
2018/12/10 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
Python 读取 YUV(NV12) 视频文件实例
2019/12/09 Python
python怎么判断模块安装完成
2020/06/19 Python
Python绘制词云图之可视化神器pyecharts的方法
2021/02/23 Python
HTML5实现表单自动验证功能实例代码
2017/01/11 HTML / CSS
汽车技术服务与营销专业在籍生自荐信
2013/09/28 职场文书
采购文员岗位职责
2013/11/20 职场文书
《埃及的金字塔》教学反思
2014/04/07 职场文书
负责人任命书范本
2014/06/04 职场文书
Spring Boot 底层原理基础深度解析
2022/04/03 Java/Android
忘记Grafana不要紧2种Grafana重置admin密码方法详细步骤
2022/04/07 Servers
MySQL创建管理RANGE分区
2022/04/13 MySQL