fastadmin后台实现这个模态框
时间: 2023-09-08 09:08:29 浏览: 148
基于ThinkPHP的极速后台开发框架设计源码
要实现一个模态框,可以使用fastadmin自带的layer插件。下面是一个简单的实现步骤:
1. 在需要触发模态框的页面中引入layer和jquery:
```html
<script src="__STATIC__/layer/layer.js"></script>
<script src="__STATIC__/jquery/jquery.min.js"></script>
```
2. 在需要触发模态框的元素上绑定click事件,例如一个按钮:
```html
<button class="btn btn-primary" id="my-btn">打开模态框</button>
```
```javascript
$('#my-btn').click(function(){
layer.open({
type: 1,
title: '模态框标题',
skin: 'layui-layer-demo', //样式类名
closeBtn: 1, //显示关闭按钮
anim: 2,
shadeClose: true, //开启遮罩关闭
area: ['600px', '400px'], //宽高
content: '<div>模态框内容</div>'
});
});
```
3. 在layer.open()方法中设置需要的参数,例如宽高、标题、内容等。
4. 如果需要在模态框中显示一个表单并提交数据,可以在content参数中设置一个form元素,然后在layer.open()方法中添加一个btn参数,指定提交按钮的事件回调。
例如:
```javascript
layer.open({
type: 1,
title: '模态框标题',
skin: 'layui-layer-demo', //样式类名
closeBtn: 1, //显示关闭按钮
anim: 2,
shadeClose: true, //开启遮罩关闭
area: ['600px', '400px'], //宽高
content: '\
<form class="layui-form" action="">\
<div class="layui-form-item">\
<label class="layui-form-label">用户名</label>\
<div class="layui-input-inline">\
<input type="text" name="username" required lay-verify="required" placeholder="请输入用户名" autocomplete="off" class="layui-input">\
</div>\
</div>\
<div class="layui-form-item">\
<label class="layui-form-label">密码</label>\
<div class="layui-input-inline">\
<input type="password" name="password" required lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input">\
</div>\
</div>\
<div class="layui-form-item">\
<div class="layui-input-block">\
<button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>\
<button type="reset" class="layui-btn layui-btn-primary">重置</button>\
</div>\
</div>\
</form>',
btn: ['提交', '取消'],
yes: function(index, layero){
//按钮【提交】的回调
//获取表单数据
var data = $('.layui-form').serialize();
console.log(data);
//发送ajax请求提交数据
layer.close(index); //关闭模态框
},
btn2: function(index, layero){
//按钮【取消】的回调
//关闭模态框
layer.close(index);
}
});
```
5. 如果需要在模态框弹出时,自动加载一些数据,可以在layer.open()方法中添加一个success参数,指定成功回调函数。
例如:
```javascript
layer.open({
type: 1,
title: '模态框标题',
skin: 'layui-layer-demo', //样式类名
closeBtn: 1, //显示关闭按钮
anim: 2,
shadeClose: true, //开启遮罩关闭
area: ['600px', '400px'], //宽高
content: '<div id="modal-content">模态框内容</div>',
success: function(layero, index){
//模态框弹出成功后,发送ajax请求获取数据
$.get('/api/data', function(data){
//将数据渲染到模态框中
$('#modal-content').html(data);
});
}
});
```
阅读全文