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 相关文章推荐
删除无限级目录与文件代码共享
Jul 12 PHP
php表单提交问题的解决方法
Apr 12 PHP
PHP性能优化准备篇图解PEAR安装
Dec 05 PHP
php图片的裁剪与缩放生成符合需求的缩略图
Jan 11 PHP
在windows服务器开启php的gd库phpinfo中未发现
Jan 13 PHP
PHP jQuery表单,带验证具体实现方法
Feb 15 PHP
php操作mysql数据库的基本类代码
Feb 25 PHP
destoon复制新模块的方法
Jun 21 PHP
推荐一款PHP+jQuery制作的列表分页的功能模块
Oct 14 PHP
php更新mysql后获取改变行数的方法
Dec 25 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
Oct 17 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中的加密功能
2006/10/09 PHP
程序员编程十条戒律
2009/07/09 PHP
解析二进制流接口应用实例 pack、unpack、ord 函数使用方法
2013/06/18 PHP
php微信公众号开发之微信企业付款给个人
2018/10/04 PHP
PHP进阶学习之依赖注入与Ioc容器详解
2019/06/19 PHP
jQuery.Validate 使用笔记(jQuery Validation范例 )
2010/06/25 Javascript
javascript学习笔记(十九) 节点的操作实现代码
2012/06/20 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
2013/11/08 Javascript
JS如何将数字类型转化为没3个一个逗号的金钱格式
2014/01/27 Javascript
javascript框架设计之框架分类及主要功能
2015/06/23 Javascript
莱鸟介绍window.print()方法
2016/01/06 Javascript
jQuery获取this当前对象子元素对象的方法
2016/11/29 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
layui框架table 数据表格的方法级渲染详解
2018/08/19 Javascript
webpack打包非模块化js的方法
2018/10/24 Javascript
js字符串倒序的实例代码
2018/11/30 Javascript
vue项目中mock.js的使用及基本用法
2019/05/22 Javascript
js get和post请求实现代码解析
2020/02/06 Javascript
举例详解Python中threading模块的几个常用方法
2015/06/18 Python
python 时间信息“2018-02-04 18:23:35“ 解析成字典形式的结果代码详解
2018/04/19 Python
Python应用领域和就业形势分析总结
2019/05/14 Python
python中append实例用法总结
2019/07/30 Python
详解python tkinter模块安装过程
2020/01/06 Python
Tensorflow之MNIST CNN实现并保存、加载模型
2020/06/17 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
使用CSS3中的calc()属性来以算式表达尺寸数值
2016/06/06 HTML / CSS
达拉斯牛仔官方商店:Dallas Cowboys Pro Shop
2018/02/10 全球购物
创建卫生先进单位实施方案
2014/03/10 职场文书
合作投资意向书
2014/04/01 职场文书
机关出纳岗位职责
2014/04/03 职场文书
2015年员工试用期工作总结
2014/12/12 职场文书
先进工作者推荐材料
2014/12/23 职场文书
公司门卫岗位职责
2015/04/13 职场文书
上学路上观后感
2015/06/16 职场文书
Django cookie和session的应用场景及如何使用
2021/04/29 Python
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android