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 相关文章推荐
仿AS3实现PHP 事件机制实现代码
Jan 27 PHP
php 记录进行累加并显示总时长为秒的结果
Nov 04 PHP
php一维二维数组键排序方法实例总结
Nov 13 PHP
PHP里8个鲜为人知的安全函数分析
Dec 09 PHP
WordPress自定义时间显示格式
Mar 27 PHP
PHP实现微信网页授权开发教程
Jan 19 PHP
php实现图片上传、剪切功能
May 07 PHP
PHP批量修改文件名称的方法分析
Feb 27 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
Apr 27 PHP
PHP使用Redis长连接的方法详解
Feb 12 PHP
PHP实现函数内修改外部变量值的方法示例
Dec 28 PHP
laravel 使用事件系统统计浏览量的实现
Oct 16 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
自己动手做一个SQL解释器
2006/10/09 PHP
str_replace只替换一次字符串的方法
2013/04/09 PHP
CodeIgniter中实现泛域名解析
2014/07/19 PHP
async和DOM Script文件加载比较
2014/07/20 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
2014/09/23 PHP
swoole和websocket简单聊天室开发
2017/11/18 PHP
js模拟实现Array的sort方法
2007/12/11 Javascript
jQuery ajax(复习)—Baidu ajax request分离版
2013/01/24 Javascript
JavaScript中Function详解
2015/02/27 Javascript
NODE.JS跨域问题的完美解决方案
2016/10/20 Javascript
js实现楼层导航功能
2017/02/23 Javascript
vue获取当前激活路由的方法
2018/03/17 Javascript
JS+H5 Canvas实现时钟效果
2018/07/20 Javascript
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
详解微信小程序的 request 封装示例
2018/08/21 Javascript
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
uploadify插件实现多个图片上传并预览
2019/09/30 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
vue项目查看vue版本及cli版本的实现方式
2020/10/24 Javascript
原生JavaScript实现五子棋游戏
2020/11/09 Javascript
python生成验证码图片代码分享
2016/01/28 Python
使用PyInstaller将Python程序文件转换为可执行程序文件
2016/07/08 Python
python编程嵌套函数实例代码
2018/02/11 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
对Python 获取类的成员变量及临时变量的方法详解
2019/01/22 Python
值得收藏的10道python 面试题
2019/04/15 Python
Python何时应该使用Lambda函数
2019/07/02 Python
Python参数传递实现过程及原理详解
2020/05/14 Python
北大研究生linux应用求职信
2013/10/29 职场文书
公司承诺书格式
2014/05/21 职场文书
小学绿色学校申报材料
2014/08/23 职场文书
先进典型发言材料
2014/12/30 职场文书
2016年学生会感恩节活动总结
2016/04/01 职场文书
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python
python百行代码实现汉服圈图片爬取
2021/11/23 Python
Python可变与不可变数据和深拷贝与浅拷贝
2022/04/06 Python