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 协议》,转载必须注明作者和本文链接
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

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

3年前 评论

$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

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

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!