layui table 表格上添加日期控件的兩種方法
方法一:
var tableInit = table.render({ elem: '#tbtxrz' , method: 'post' , data: jsonData , height: "auto" , id: "tbtxrz" , text: {none: '暫無(wú)相關(guān)數(shù)據(jù)'} , toolbar: toolbartxrz , cols: [[ { //設(shè)置表格中部分字體的顏色 field: "number", title: "序號(hào)", width: 60, align: "left", templet: function (data) { return data.LAY_INDEX } } , {field: "ID", title: "ID", align: "left", hide: true} , {field: "sjbs", title: "sjbs", align: "left", hide: true} , {field: "xh", title: "xh", align: "left", hide: true} , {field: "action", title: "action", align: "left", hide: true} , {field: "txmc", title: "<span style='color:#c00'></span>體系名稱(chēng)", width: 140, align: "left", edit: 'text'} , {field: "rztxmc", title: "<span style='color:#c00'>*</span>認(rèn)證體系名稱(chēng)", width: 140, align: 'left', edit: 'text'} , { field: "rzrq", title: "認(rèn)證日期", width: 160, align: 'left',event: 'editStartDate',data_field:'rzrq' /* templet: function (d) { return ' <input type="text" name="rzrq" class="layui-input layui-input-date" value="' + d.rzrq + '" id="txrzrq'+d['LAY_TABLE_INDEX'] +'">' }*/ } , {field: "rzjg", title: "<span style='color:#c00'>*</span>認(rèn)證機(jī)構(gòu)", width: 140, align: 'left', edit: 'text'} , { field: "zsdqsj", title: "<span style='color:#c00'>*</span>證書(shū)到期時(shí)間", width: 160, align: 'left',event: 'editzsdqsj',data_field:'zsdqsj' /* templet: function (d) { return ' <input type="text" name="zsdqsj" class="layui-input layui-input-date" value="' + d.zsdqsj + '" id="test2">' }*/ } , {field: "rzfgcp", title: "認(rèn)證覆蓋產(chǎn)品", width: 140, align: 'left', edit: 'text'} , { field: "jhrzsj", title: "若無(wú),計(jì)劃認(rèn)證時(shí)間", width: 160, align: 'left', edit: 'select', } , {field: "ywjm", title: "原文件名", width: 140, align: 'left'} , { field: '操作', title: '操作', width: '10%', unresize: true, templet: function (res) { return '<button type="button" class="layui-btn layui-btn-xs" data-type="' + res['LAY_TABLE_INDEX'] + '" id="uploadFile' + res['LAY_TABLE_INDEX'] + '" lay-event="upload"><i class="layui-icon layui-icon-upload-drag"></i></button> <button type="button" class="layui-btn layui-btn-xs layui-btn-danger" lay-event="del"><i class="layui-icon layui-icon-delete"></i></button>'; } } , {field: "pc", title: "批次", align: 'left', hide: true} , {field: "cdmc", title: "cdmc", align: 'left', hide: true} , {field: "scsj", title: "scsj", align: 'left', hide: true} , {field: "ccm", title: "ccm", align: 'left', hide: true} , {field: "xg", title: "xg", align: 'left', hide: true} , {field: "fjm", title: "fjm", align: 'left', hide: true} , {field: "fjID", title: "fjID", align: 'left', hide: true} ]] , done: function (res, curr, count) { //日期控件 // 上傳文件 var data = res.data; for (var i = 0; i < data.length; i++) { var elem = '#uploadFile' + i; //循環(huán)初始上傳組件 var uploadInst = upload.render({ elem: elem //綁定元素 , url: $("#contextpath").val() + '/upload/uploadFile2.do' //上傳接口 , field: 'files' , auto: true , accept: 'file' // ,exts: 'xls|xlsx|csv' //添加上傳額外參數(shù) , data: { sjbs: function () { var sjbs = $("#sjbs").val(); var logId = $("#logId").val(); if (sjbs !== null && sjbs.length > 0) { sjbs = sjbs; } else { sjbs = $("#sjbs").attr('name') + new Date().getTime();//設(shè)置每次新增的批次 $("#sjbs").val($("#sjbs").attr('name') + new Date().getTime());//如果沒(méi)有創(chuàng)建時(shí)間標(biāo)識(shí),就自己新增 } mcs.setSjbs(sjbs); return sjbs; } } //文件上傳前回調(diào) , before: function (obj) { //開(kāi)啟加載 layer.load(2, {time: 10 * 1000, offset: '200px'}); //從表格緩存中獲取table指定行數(shù)據(jù) updateRow = tableRowTool.data; var files = this.files = obj.pushFile(); obj.preview(function (index, file, result) { updateRow['scsj'] = new Date(new Date()).format("yyyy-MM-dd hh:mm:ss"); updateRow['ywjm'] = file.name; updateRow['xg'] = 1; // updateRow['wjdx'] = (file.size/1024).toFixed(1) +'kb'; }) } //上傳成功后回調(diào) , done: function (res, index, upload) { txrzxg = true; layer.closeAll(); if (res.status === "Y") { updateRow['ccm'] = res.fileName; updateRow['sjbs'] = res.sjbs; //文件上傳成功,更新表格數(shù)據(jù) tableRowTool.update(updateRow); //文件上傳成功后,去掉.layui-table-click Table選中行狀態(tài) tableRowTool.tr.prop("class", ""); layer.msg(res.msg, { icon: 1 , time: 2000 , offset: '200px' }, function () { }) } else { layer.msg(res.msg, { icon: 5 , time: 2000 , offset: '200px' }) } //刪除文件隊(duì)列已經(jīng)上傳成功的文件 return delete this.files[index]; } //上傳錯(cuò)誤回調(diào) , error: function () { layer.closeAll(); //請(qǐng)求異常回調(diào) } }); } layer.closeAll(); } })
處理方法:
//監(jiān)聽(tīng)行工具事件 table.on('tool(tbtxrz)', function (obj) { var data = obj.data; if(obj.event === 'editStartDate'){ var field = $(this).data('field'); laydate.render({ elem: this.firstChild , show: true //直接顯示 , closeStop: this , done: function (value, date) { data[field] = value; obj.update(data); } }); } else if (obj.event='editzsdqsj'){ var field = $(this).data('field'); laydate.render({ elem: this.firstChild , show: true //直接顯示 , closeStop: this , done: function (value, date) { data[field] = value; obj.update(data); }}); } });
方法二:不建議使用,因?yàn)椴粔蜢`活
js代碼:
var layer = layui.layer, form = layui.form, table = layui.table; var $ = layui.$; /*select gysmc,zyzw ,xm ,sjhm ,bgshm ,emilyx , zgsrgzwsj ,zggsgl ,cast(gysxxid as int) as gysxxid, pc, gysryxxMdataID as ID,sjbs from gysryxxMdata*/ var tableInit = table.render({ elem: '#tbgysplay' , method: 'post' , data: jsonData , height: "auto" , id: "tbgysplay" , text: {none: '暫無(wú)相關(guān)數(shù)據(jù)'} , toolbar: "#toolbarplan" , cols: [[ {type: "checkbox", fixed: "left", width: 50} , { field: "number", title: "序號(hào)", width: '10%', align: "left", templet: function (data) { return data.LAY_INDEX } } , {field: "ID", title: "ID", align: "left", hide: true} , {field: "action", title: "action", align: "left", hide: true} , {field: "sjbs", title: "sjbs", align: "left", hide: true} , {field: "供應(yīng)商名稱(chēng)", title: "供應(yīng)商名稱(chēng)", width: '15%', align: "left"} , {field: "主要產(chǎn)品類(lèi)型", title: "主要產(chǎn)品類(lèi)型", width: '15%', align: 'left'} , {field: "所在省份", title: "所在省份", width: '15%', align: 'left'} , { field: "PSA計(jì)劃時(shí)間", title: "PSA計(jì)劃時(shí)間", width: '20%', align: 'left', templet:function (d) { return ' <input type="text" class="layui-input layui-input-date" value="'+d.PSA計(jì)劃時(shí)間+'" id="test1">' } } , {field: "PSA計(jì)劃負(fù)責(zé)人", title: "PSA計(jì)劃負(fù)責(zé)人", align: 'left',edit:'text'} ]] , done: function (res) {//當(dāng)數(shù)據(jù)渲染完后,執(zhí)行的回調(diào) //日期控件 $(".layui-input-date").each(function (i) { layui.laydate.render({ elem: this, format: "yyyy-MM-dd", done: function (value, date) { if (res && res.data[i]) { $.extend(res.data[i], {'PSA計(jì)劃時(shí)間': value}) } } }); }); layer.closeAll(); } });
以上這篇layui table 表格上添加日期控件的兩種方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 關(guān)于Layui Table隱藏列問(wèn)題
- layui異步加載table表中某一列數(shù)據(jù)的例子
- layui實(shí)現(xiàn)根據(jù)table數(shù)據(jù)判斷按鈕顯示情況的方法
- layui-table獲得當(dāng)前行的上/下一行數(shù)據(jù)的例子
- layui table單元格事件修改值的方法
- layui將table轉(zhuǎn)化表單顯示的方法(即table.render轉(zhuǎn)為表單展示)
- 解決layui table表單提示數(shù)據(jù)接口請(qǐng)求異常的問(wèn)題
- layui table 表格模板按鈕的實(shí)例代碼
- layui table動(dòng)態(tài)表頭 改變表格頭部 重新加載表格的方法
- layui table 列寬百分比顯示的實(shí)現(xiàn)方法
相關(guān)文章
js 數(shù)值轉(zhuǎn)換為3位逗號(hào)分隔的示例代碼
本篇文章主要是對(duì)js將數(shù)值轉(zhuǎn)換為3位逗號(hào)分隔的示例代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2014-02-02CSS+JS實(shí)現(xiàn)點(diǎn)擊文字彈出定時(shí)自動(dòng)關(guān)閉DIV層菜單的方法
這篇文章主要介紹了CSS+JS實(shí)現(xiàn)點(diǎn)擊文字彈出定時(shí)自動(dòng)關(guān)閉DIV層菜單的方法,設(shè)計(jì)javascript操作菜單的彈出與關(guān)閉的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-05-05利用es6 new.target來(lái)對(duì)模擬抽象類(lèi)的方法
這篇文章主要介紹了利用es6 new.target來(lái)對(duì)模擬抽象類(lèi)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05深入淺析JavaScript系列(13):This? Yes,this!
在這篇文章里,我們將討論跟執(zhí)行上下文直接相關(guān)的更多細(xì)節(jié)。討論的主題就是this關(guān)鍵字。實(shí)踐證明,這個(gè)主題很難,在不同執(zhí)行上下文中this的確定經(jīng)常會(huì)發(fā)生問(wèn)題2016-01-01實(shí)例講解javascript注冊(cè)事件處理函數(shù)
這篇文章主要以實(shí)例的方式向大家介紹了javascript注冊(cè)事件處理函數(shù),內(nèi)容很全面,感興趣的朋友可以參考一下2016-01-01JS實(shí)現(xiàn)換膚功能的方法實(shí)例詳解
這篇文章主要介紹了JS實(shí)現(xiàn)換膚功能的方法,結(jié)合實(shí)例形式分析了javascript針對(duì)頁(yè)面元素屬性與樣式動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-01-01JS實(shí)現(xiàn)文檔加載完成后執(zhí)行代碼
本文給大家講述的是使用javascript實(shí)現(xiàn)文檔加載完成后再執(zhí)行代碼的方法和示例,非常簡(jiǎn)單實(shí)用,有需要的小伙伴可以參考下。2015-07-07