1、写上对应的表单select
$type = $id ? User::where('id',$id)->value('intro_type') : 1;
$form->select('intro_type','介绍类型')->options(['1'=>'上传图片','2'=>'链接地址'])->default($type);
2、加上对应的php代码
Admin::script("$(document.body).append(`<script src='/admin/js/intro.js'>`);");
3、在对应的js文件里,编写自己需要的js逻辑代码
var dom = $('.intro_type');
change(dom.val());
$(document).on('change','#tab-form-1 .intro_type',function(){
change($(this).val());
});
function change(val){
if(val == 1){
dom.parents("#tab-form-1").find('.form-group:nth-child(2)').show().next().hide();
}else{
dom.parents("#tab-form-1").find('.form-group:nth-child(3)').show().prev().hide();
}
}
以上就可以实现select动态表单了
ps:注意另外一个实现方法,这个方法只能刷新页面的时候才会加载一次js,意思就是,你从列表页面进入添加页面的时候,这时候js是不会加载的,因为页面没有刷新,之后f5刷新页面才会加载js
Admin::js('/admin/js/intro.js');