700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Layui数据表格中动态插入行插入下拉框

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

时间:2022-10-12 22:37:23

相关推荐

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

想要在已加载的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” });

就可以避免影响到下拉框的样式了!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。