Dcat Admin from 表單 點選不同型別展示不同資料

Wen1109發表於2020-06-30

效果圖

背景

剛入坑時遇到的一些問題,希望能提供幫助。
大佬要是有更好的方法,歡迎來貼。: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

    $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 協議》,轉載必須註明作者和本文連結

相關文章