Dcat Admin from 表单 点击不同类型展示不同数据

效果图#

背景#

刚入坑时遇到的一些问题,希望能提供帮助。
大佬要是有更好的方法,欢迎来贴。:smirk:

代码#

laravel-admin 版本在 1.8.0 以上支持,直接拿来使用,很方便。

$form->radio('nationality', '国籍')
    ->options([
        1 => '本国',
        2 => '外国',
    ])->when(1, function (Form $form) { 

        $form->text('name', '姓名');
        $form->text('idcard', '身份证');

    })->when(2, function (Form $form) { 

        $form->text('name', '姓名');
        $form->text('passport', '护照');

    });

Dcat-Admin 则不能像 laravel-admin 1.8 这么方便使用,需要用到 js.
laravel-admin 1.8 以下的也可以这样使用

    $form->radio('type')->options([1 => '公众号', 2 => '小程序'])->default(1);
    $form->select('order_link')->options('/order');
    $form->url('link');

    Admin::script(
    <<<JS
    var type = $("input[name='type']:checked").val();
    var link = $('input[name="link"]').parents('.form-group');
    var order_link = $('input[name="order_link"]').parents('.form-group');

    if(type == 1){
        order_link.hide(); // 隐藏提交框
    }else{
        link.hide(); // 隐藏提交框
    }

    $('input[name="type"]').on('click', function () {

        if($(this).val() == 1){
            link.show(); // 展示提交框
            aa.hide();

        }else{
            link.hide();
            aa.show();
        }

    });

    JS
    );
本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

刚好想实现类似的功能,赞一个

4年前 评论

$form->radio ('questionOptions.is_answer', ' 答案 ')->default (0) ->options ([0 => ' 错误 ', 1 => ' 正确 ']) ->when (1, function (Form $form) { $form->hidden ('questionOptions.option_name')->default ('T'); }) ->when (0, function (Form $form) { $form->hidden ('questionOptions.option_name')->default ('F'); }); questionOptions 这个是关联关系,我这样写表单提交值有两个 questionOptions [option_name]: F 和 questionOptions [option_name]: T?

file

2年前 评论
Wen1109 (楼主) 2年前