laravel-admin解决表单select联动时,编辑默认没选上的问题
发布:smiling 来源: PHP粉丝网 添加日期:2021-12-26 16:18:10 浏览: 评论:0
今天在开发公司一个功能时,公司开发环境用的是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联动编辑时,能够默认选上我们的值。
Tags: laravel-admin select联动
相关文章
- ·laravel-admin 在列表页添加自定义按钮的例子(2021-12-25)
- ·laravel-admin的多级联动方法(2021-12-26)
- ·laravel-admin的图片删除实例(2021-12-26)
- ·Laravel-admin之修改操作日志的方法(2021-12-26)
- ·基于Laravel-admin 后台的自定义页面用法详解(2021-12-26)
- ·laravel-admin 中列表筛选方法(2021-12-27)
- ·在laravel-admin中列表中禁止某行编辑、删除的方法(2021-12-27)
- ·laravel-admin 后台表格筛选设置默认的查询日期方法(2021-12-27)
- ·laravel-admin select框默认选中的方法(2021-12-27)
- ·关于laravel后台模板laravel-admin select框的使用详解(2021-12-27)
- ·浅谈laravel-admin的sortable和orderby使用问题(2021-12-27)
- ·基于laravel-admin 后台 列表标签背景的使用方法(2021-12-27)
- ·解决laravel-admin 自己新建页面里 js 需要刷新一次的问题(2021-12-27)
- ·laravel-admin 实现给grid的列添加行数序号的方法(2021-12-27)
- ·关于Laravel-admin的基础用法总结和自定义model详解(2021-12-27)
- ·laravel-admin表单提交隐藏一些数据,回调时获取数据的方法(2021-12-27)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)