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 相关文章推荐
在PHP3中实现SESSION的功能(二)
Oct 09 PHP
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
Apr 18 PHP
PHP制作图形验证码代码分享
Oct 23 PHP
php绘图之在图片上写中文和英文的方法
Jan 24 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
Mar 24 PHP
php获取本机真实IP地址实例代码
Mar 31 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
Jun 28 PHP
Laravel最佳分割路由文件(routes.php)的方式
Aug 04 PHP
PHP读取大文件的几种方法介绍
Oct 27 PHP
PHP培训要多少钱
Jun 06 PHP
TP5框架实现签到功能的方法分析
Apr 05 PHP
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
Mar 29 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与javascript的两种交互方式
2006/10/09 PHP
php中的观察者模式
2010/03/24 PHP
ajax实现无刷新分页(php)
2010/07/18 PHP
php UBB 解析实现代码
2011/11/27 PHP
php ci框架中加载css和js文件失败的解决方法
2014/03/03 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
2015/12/25 PHP
Ajax请求PHP后台接口返回信息的实例代码
2018/08/21 PHP
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
js操作textarea 常用方法总结
2012/12/03 Javascript
jQuery Mobile 导航栏代码
2013/11/01 Javascript
javascript中cookie对象用法实例分析
2015/01/30 Javascript
jQuery制作网页版选项卡
2016/07/28 Javascript
js基础之DOM中document对象的常用属性方法详解
2016/10/28 Javascript
[原创]JS基于FileSaver.js插件实现文件保存功能示例
2016/12/08 Javascript
详解nodejs微信公众号开发——2.自动回复
2017/04/10 NodeJs
vue 和vue-touch 实现移动端左右导航效果(仿京东移动站导航)
2017/04/22 Javascript
微信小程序 支付后台java实现实例
2017/05/09 Javascript
浅谈react受控组件与非受控组件(小结)
2018/02/09 Javascript
jQuery实现遍历XML节点和属性的方法示例
2018/04/29 jQuery
ES6的解构赋值实例详解
2019/05/06 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
JS数组的高级使用方法示例小结
2020/03/14 Javascript
[55:25]2018DOTA2亚洲邀请赛3月29日 小组赛A组 VG VS OG
2018/03/30 DOTA
解析Python中的生成器及其与迭代器的差异
2016/06/20 Python
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
python 进程的几种创建方式详解
2019/08/29 Python
使用CSS3制作版头动画效果
2020/12/24 HTML / CSS
专门出售各种儿童读物的网站:Put Me In The Story
2016/08/07 全球购物
马歇尔耳机官网:Marshall Headphones
2020/02/04 全球购物
有机婴儿毛毯和衣服:Monica + Andy
2020/03/01 全球购物
简历里的自我评价
2014/01/31 职场文书
市政管理求职信范文
2014/05/07 职场文书
公证处委托书
2015/01/28 职场文书
2015年路政工作总结
2015/05/22 职场文书
利用For循环遍历Python字典的三种方法实例
2022/03/25 Python
Django框架中模型的用法
2022/06/10 Python