html表格增加和删除一行,layui点击按钮给table添加一行和删除一行(批量删除)

本文介绍了如何使用CSS样式和layui框架来解决表格中下拉框被遮挡的问题,并展示了如何实现在表格中添加、删除(批量删除)动态行以及下拉菜单的数据填充和回填。通过提供的代码示例,读者可以了解如何在前端开发中处理表格交互和数据操作。
摘要由CSDN通过智能技术生成

1、CSS代码,用于table里的下拉框不被遮挡

.layui-table-cell,.layui-table-box ,.layui-table-body{

overflow: visible !important;

}

td .layui-form-select {

margin-top: -10px;

margin-left: -15px;

margin-right: -15px;

}

2、表格、按钮、下拉菜单

3、实现动态下拉、添加、删除(批量删除)

var statelist = {};//存储码表数据,用于表格回调

layui.use(['table', 'form'], function () {

var table = layui.table,

form = layui.form;

//动态获取码表数据

$.ajax({

type: "post",

url: "state",

dataType: "json",

async: false,

success: function (data) {

statelist = data.list;

}

});

//展示已知数据

table.render({

elem: '#demo'

, title: '手动添加删除行'

, toolbar: '#toolbarDemo'//开启头部

, cellMinWidth: 80 //全局定义常规单元格的最小宽度

, cols: [[ //表头

{type: 'checkbox', fixed: 'left'}

, {field: 'state', title: '状态', width: 158, templet: '#selectState'}

, {field: 'lsh', title: '流水号', edit: 'text', width: 158}

, {field: 'name', title: '名称', edit: 'text', width: 158}

]]

//这里就是一开始渲染就添加一个空的一行数据,或者添加一下数据也可以

, data: [{state: "0", lsh: "", name: ""}, {state: "1", lsh: "", name: ""}]

, done: function (res, curr, count) {

//添加下拉菜单数据

for (var k in lcztlist) {

$("select[name='state']").append('' + statelist[k].label + '');

}

//根据已有的值回填下拉框

layui.each($("select[name='state']"), function (index, item) {

var elem = $(item);

elem.val(elem.data('value'));

});

//渲染select

form.render('select');

}

});

//头部工具栏事件

table.on('toolbar(demo)', function (obj) {

var checkStatus = table.checkStatus(obj.config.id)

, data = checkStatus.data //获取选中的数据

, demo = table.cache["demo"];//获取表格中的数据

switch (obj.event) {

case 'add':

//添加时的字段信息

var datas = {state: "1", lsh: "", name: ""};

//加入数组中

demo.push(datas);

//重载表格

table.reload('demo', {

data: demo

});

break;

case 'del':

if (data.length === 0) {

layer.msg('请选中一行或多行数据');

} else {

var tablelist = [];//存储未选中的数据

//循环表格数据

for (var i in demo) {

//判断未选中数据

if (!demo[i].LAY_CHECKED) {

//存入数组

tablelist.push(demo[i]);

}

}

//重载表格

table.reload('demo', {

data: tablelist

});

}

break;

}

});

//监听下拉框改变

form.on('select(lczt)', function (data) {

var selectElem = $(data.elem);

var tdElem = selectElem.closest("td");

var trElem = tdElem.closest("tr");

var tableView = trElem.closest(".layui-table-view");

table.cache[tableView.attr("lay-id")][trElem.data("index")][tdElem.data("field")] = data.value;

});

});

4、效果图如下:

57e996a347e6f157393bf86646019462.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值