Layui数据表格中动态插入行&&插入下拉框

本文介绍在已加载的layui数据表格动态插入一行的方法,包括设置event值、加载表格工具条点击事件、设置插入行数据内容、重载表格。还讲述了插入下拉框的操作,以及当下拉框选择数据后替换成输入框时避免影响样式的代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想要在已加载的layui数据表格动态的插入一行,首先要在加载表格的时候设置它的event值。因为我这里是点击序号就添加一行,所以我在序号中设置了它的event值!当然在静态表格当中也是一样的操作,在你想要点击的表头添加lay-event="levels"属性进行,双引号里面的名称可以自定义!
在这里插入图片描述

然后就是加载表格的工具条的点击事件了[Tool(’表格的名称’)],设置一些基础参数。

table.on('tool(tabsizezu)', function (obj) { //注:tool是工具条事件名,

var data = obj.data; //获得当前行数据
var layEvent = obj.event; //获得 lay-event 对应的值(也可以是表头的 event 参数对应的值)
var tr = obj.tr; //获得当前行 tr 的DOM对象
然后就是判断如果layEvent的值是否等于levels(上面设置的event的值),等于就执行里面的代码,相当于设置了levels的点击事件了
if (layEvent === 'levels') {
var tableBack = table.cache["tabsizezu"];
tableBack.push({
ID: "", S: "",
M: "",  L: "",
XL: "",XXL: "",
SQ: "", SB: "",
SJ: "", SS: "",
SY: "", SE: "",
A: "" , B: "",
C: "",
D: ""
}),

table.cahe后面的中括号里面放的是表格的名称,然后就是设置插入行的数据内容了,我这里的ID、S、M、L等等的是每一个表头的值,插入空白行的话像我这样不给里面的表头赋值就行了!

table.reload("tabsizezu", {
	url:"",
	data: tableBack,
})

然后就是重载表格,放入上面设置的内容就行了,因为这里重载了表格,所以会有一个刷新表格的效果。
然后就是插入下拉框的部分,当event==1的时候就插入一个下拉框,因为我这里是点击数据表格里面的单元格后插入的下拉框,所以,采取来插入HTML的内容的方法来添加下拉框!
if (layEvent === ‘1’) { //查看
var Num = $(this).data().key;

$(this).addClass(Num);
$(this).css({ position: "relative" })
$("." + Num + " input").css({ height: "0px", padding: "0px" });
$("." + Num + " div").css({ display: "none" });
$(this).append('<select class="form-control" id="list" style="position:absolute;top:5px;left:5px;z-index:99;height:30px;width:72px;display:none;border:none;"></select>')

$("#list").css({ display: "block" });
CreateSelect("list", "/SYTFZ/SelectSize");
//这里只是下拉框数据查询的方法而已

var listVal = $("#list").val();
if (listVal != "---请选择---" && listVal != null) {
list2 += Num + ';';
$(this).text("");
$(this).append('<input style="width:80px;border:none;text-align:center;background:#f2f2f2;height:25px;z-index:1;" type="text" class="form-control" Readonly>' + listVal + '');
$("." + Num + " input").css({ height: "0px", padding: "0px" });
Result += listVal + " | ";
}                
}

当下拉框选择了数据之后级把里面的下拉框替换成输入框的形式,同样是采取插入HTML的方法,不过在我们再次点击的时候输入框的内容就会影响到下拉框的样式,所以就要加上这一句代码 :
$("." + Num + " input").css({ height: “0px”, padding: “0px” });
就可以避免影响到下拉框的样式了!

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值