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作的文本留言本的例子(六)
Oct 09 PHP
优化PHP代码的53条建议
Mar 27 PHP
php中cookie的使用方法
Mar 29 PHP
PHP使用ODBC连接数据库的方法
Jul 18 PHP
THinkPHP获取客户端IP与IP地址查询的方法
Nov 14 PHP
IOS 开发之NSDictionary转换成JSON字符串
Aug 14 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
PHP学习记录之数组函数
Jun 01 PHP
php中html_entity_decode实现HTML实体转义
Jun 13 PHP
phpQuery采集网页实现代码实例
Apr 02 PHP
Git命令之分支详解
Mar 02 PHP
thinkphp5 redis缓存新增方法实例讲解
Mar 24 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中的日期加减方法示例
2014/08/21 PHP
WordPress中限制非管理员用户在文章后只能评论一次
2015/12/31 PHP
IE中jquery.form中ajax提交没反应解决方法分享
2012/09/11 Javascript
javascript全局变量封装模块实现代码
2012/11/28 Javascript
iframe子父页面调用js函数示例
2013/11/07 Javascript
Bootstrap中CSS的使用方法
2016/02/17 Javascript
JavaScript设计模式经典之工厂模式
2016/02/24 Javascript
浅谈js函数中的实例对象、类对象、局部变量(局部函数)
2016/11/20 Javascript
怎样判断jQuery当前元素是隐藏还是显示
2016/11/23 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
用Nodejs搭建服务器访问html、css、JS等静态资源文件
2017/04/28 NodeJs
python爬取安居客二手房网站数据(实例讲解)
2017/10/19 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
2019/07/25 Javascript
[15:07]lgd_OG_m2_BP
2019/09/10 DOTA
[54:26]完美世界DOTA2联赛PWL S3 Forest vs Rebirth 第一场 12.10
2020/12/12 DOTA
使用PYTHON接收多播数据的代码
2012/03/01 Python
Python实现删除文件但保留指定文件
2015/06/21 Python
pandas按若干个列的组合条件筛选数据的方法
2018/04/11 Python
Python使用 Beanstalkd 做异步任务处理的方法
2018/04/24 Python
pytorch 指定gpu训练与多gpu并行训练示例
2019/12/31 Python
python实现简单颜色识别程序
2020/02/19 Python
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
阿联酋航空官方网站:Emirates
2017/10/17 全球购物
成人教育自我鉴定
2013/11/01 职场文书
主管职责范文
2013/11/09 职场文书
一名女生的自荐信
2013/12/08 职场文书
学生党员思想汇报范文
2014/01/09 职场文书
旅游节目策划方案
2014/05/26 职场文书
中秋晚会活动方案
2014/08/31 职场文书
工作证明格式及范本
2014/09/12 职场文书
乡镇党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
中秋晚会致辞
2015/07/31 职场文书
退休职工欢送会致辞
2015/08/01 职场文书
导游词之苏州寒山寺
2019/12/05 职场文书
教你利用python实现企业微信发送消息
2021/05/23 Python