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 相关文章推荐
UCenter中的一个可逆加密函数authcode函数代码
Jul 20 PHP
基于PHP 面向对象之成员方法详解
May 04 PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
Jun 18 PHP
慎用preg_replace危险的/e修饰符(一句话后门常用)
Jun 19 PHP
php使用qr生成二维码的示例分享
Jan 20 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
Jun 30 PHP
php从数组中随机选择若干不重复元素的方法
Mar 14 PHP
最准确的php截取字符串长度函数
Oct 29 PHP
php删除数组中重复元素的方法
Dec 22 PHP
PHP生成制作验证码的简单实例
Jun 12 PHP
详谈phpAdmin修改密码后拒绝访问的问题
Apr 03 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 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
论建造顺序的重要性
2020/03/04 星际争霸
php实现上传图片保存到数据库的方法
2015/02/11 PHP
Laravel框架路由和控制器的绑定操作方法
2018/06/12 PHP
PHP 加密 Password Hashing API基础知识点
2020/03/02 PHP
简单的JS多重继承示例
2008/03/13 Javascript
Javascript公共脚本库系列(一): 弹出层脚本
2011/02/24 Javascript
如何正确使用javascript 来进行我们的程序开发
2014/06/23 Javascript
jQuery 重复加载错误以及修复方法
2014/12/16 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
Angularjs实现多个页面共享数据的方式
2016/03/29 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
浅谈js获取ModelAndView值的问题
2018/03/28 Javascript
js实现的格式化数字和金额功能简单示例
2019/07/30 Javascript
vue实现用户长时间不操作自动退出登录功能的实现代码
2020/07/23 Javascript
vantUI 获得piker选中值的自定义ID操作
2020/11/04 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
[41:11]完美世界DOTA2联赛PWL S2 Inki vs Magma 第一场 11.22
2020/11/24 DOTA
Python守护进程(daemon)代码实例
2015/03/06 Python
Python实现的数据结构与算法之双端队列详解
2015/04/22 Python
django 连接数据库 sqlite的例子
2019/08/14 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
解决django-xadmin列表页filter关联对象搜索问题
2019/11/15 Python
基于Python爬取爱奇艺资源过程解析
2020/03/02 Python
如何提高python 中for循环的效率
2020/04/15 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
2020/06/23 Python
python爬取代理ip的示例
2020/12/18 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
美国最顶级的精品店之一:Hampden Clothing
2016/12/22 全球购物
Grow Gorgeous美国官网:只要八天,体验唤醒毛囊后新生的茂密秀发
2018/06/04 全球购物
银行实习生自我鉴定范文
2013/09/19 职场文书
策划创业计划书
2014/02/06 职场文书
协议书与合同的区别
2014/04/18 职场文书
欢迎领导标语
2014/06/27 职场文书
人力资源职位说明书
2014/07/29 职场文书
小学语文教师竞聘演讲稿范文
2019/08/09 职场文书
教你用python实现12306余票查询
2021/06/30 Python