layui+表格+表单,新增一条记录,实例
<div class="layui-btn-group tui-all-showUrl-add">
<button type="button" class="layui-btn layui-btn-sm">
<i class="layui-icon"></i>
</button>
</div>
<table class="all-users layui-col-xs" id="tui-all-showUrl" lay-filter="tui-all-showUrl"></table>
<script type="text/html" class="all-users-caozuo" id='caozuofff'>
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script type="text/javascript">
layui.use(['table','layer', 'form'], function(){
var table = layui.table,form = layui.form;
var colsSetData=[
{type:'numbers', title: '序号'},
{field:'guishu_ren', width:80, title: '姓名'},
{field:'url', width:580, title: '落地页链接',event:'setSign'}
,{field:'luodiye_zhuti', width:180, title: '落地页内容'}
,{field:'create_time', width:110, title: '创建时间'}
,{title: '是否显示', width:90,templet: function (d) {
let checkbox_is='checked';
//console.log(d.display)
if(d.display != '1'){
checkbox_is ='';
}
return `<div class='layui-form'><input type='checkbox' value="${d.guishu_ren}" data-url="${d.url}" ${checkbox_is} name='isValid' lay-filter='isValid' lay-skin='switch' lay-text='是|否' ></div>`;
}
}
]
//colsSetData[7]={title: '操作222',toolbar: '.all-users-caozuo'}
// console.log(colsSetData[6])
var tableId = "tui-all-showUrl";
var tableIns = table.render({
elem: '#'+tableId
,method:'post'
//,size: 'sm'
//,toolbar: 'default'
//,totalRow:false
,id:tableId
,where: { leixing: 'select'}//接口的其它参数
,url:url_h
,cellMinWidth: 50 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
//,width:1000
,cols: [colsSetData]
,page: false
, limit: 100 //默认分页条数
,done: function(res, curr, count){
//如果是异步请求数据方式,res即为你接口返回的信息。
//如果是直接赋值的方式,res即为:{data: [], count: 99} data为当前页数据、count为数据总长度
//console.log(res);
//console.log( res.data[0]['name'] )
//$('td').css({ 'height': 'auto','overflow': 'visible','text-overflow': 'inherit', "white-space":"normal" ,"word-break":"break-all" })
}
//,skin: 'nob' //行边框风格 row line nob
,even: true //开启隔行背景
});
//监听 开关按钮
form.on('switch(isValid)', function(data){
var checked = data.elem.checked;
//条件成立后才更改
data.elem.checked = !checked;
form.render();
layer.confirm(data.value+data.elem.dataset.url+'确定启用吗?', {
btn: ['确定', '取消'] //按钮
,yes: function(index){
// 此时进行ajax的服务器访问,如果返回数据正常,则进行后面代码的调用
//console.log('按钮确定')
data.elem.checked = checked;
form.render();
layer.close(index);
//按钮【按钮一】的回调
}
,btn2: function(index){
//按钮【按钮二】的回调
// console.log('按钮取消取消')
data.elem.checked=!checked;
form.render();
layer.close(index);
//return false; //开启该代码可禁止点击该按钮关闭
}
})
});
//监听 开关按钮 end
//Demo
// 添加 新的 一个记录
form.on('submit(demo1)', function(data){
// layer.msg(JSON.stringify(data.field));
// return false;
var faData= {};
faData = data.field;
// console.log(faData)
$.ajax({
type: 'post',
dataType : "json",
async:true,
url: url_h_q,
data: faData,
success: function (res) {
//var indexform = parent.layer.getFrameIndex(window.name);
//console.log(form)
// layer.close(indexform);
if (res.status == '200' ) {
if(res.addNum =='1'){
var oldData = table.cache[tableId];
//将新行插入表格数据中
faData['display'] = 1;
oldData.push(faData);
//如果原table渲染时指定了数据url
//重载时需要设置url: null
//使用新数据重载表格
tableIns.reload({
url: null,
data: oldData
});
layer.msg('fkkkkkkk', {icon: 1,closeBtn: 0 }, function (index) {
// layer.close(index);
layer.closeAll();
});
}
} else {
//alert(res)
layer.alert(res.error, {icon: 5,closeBtn: 0}, function (index) {
layer.close(index);
});
}
}
});
return false;
});
// 添加 新的 一个记录 end
// 新增一行 弹出输入框
$(".tui-all-showUrl-add").on("click", function(data) {
layer.open({
type: 1,
area: ['900px', '600px'],
skin: 'layui-layer-tui-all-showUrl-add',
title:'请选择',
content: $('.add-tui-all-showUrl-form') //这里content是一个普通的String
//,btn: ['确定','取消']
//,shadeClose: true
,success:function(layero){
var mask = $(".layui-layer-shade");
mask.appendTo(layero.parent());
//其中:layero是弹层的DOM对象
}
// ,yes:function(layero){
// }
});
});
//新增一行 弹出输入框 end
});
</script>
<div class="layui-col-md11 add-tui-all-showUrl-form" style="display:none;" >
<form class="layui-form " lay-filter="example" style="margin-top: 15px;">
<div class="layui-form-item">
<label class="layui-form-label">归属者</label>
<div class="layui-input-block">
<select name="guishu_ren" lay-filter="guishu_ren" lay-verify="guishu_ren|required">
<option value=""></option>
<option value="xxxfff">xxxfff</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">链接</label>
<div class="layui-input-block">
<input type="text" name="url" lay-verify="url|required" placeholder="落地页链接" class="layui-input" >
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">提交时间</label>
<div class="layui-input-inline" style="width:100px;">
<input type="text" name="create_time" autocomplete="off" placeholder="日期" lay-verify="date" class="layui-input layui-time-day">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button type="submit" class="layui-btn" lay-submit="" lay-filter="demo1" >立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
</div>