温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

layui中table表格上如何添加日期控件

发布时间:2021-08-05 13:51:09 阅读:263 作者:小新 栏目:web开发
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章主要介绍layui中table表格上如何添加日期控件,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

方法一:

var tableInit = table.render({
        elem'#tbtxrz'
        , method'post'
        , data: jsonData
        , height"auto"
        , id"tbtxrz"
        , text: {none'暂无相关数据'}
        , toolbar: toolbartxrz
        , cols: [[
          {
//设置表格中部分字体的颜色
            field"number", title"序号", width60, align"left", templet: function (data) {
              return data.LAY_INDEX 
            }
          }
          , {field"ID", title"ID", align"left", hidetrue}
          , {field"sjbs", title"sjbs", align"left", hidetrue}
          , {field"xh", title"xh", align"left", hidetrue}
          , {field"action", title"action", align"left", hidetrue}
          , {field"txmc", title"<span style='color:#c00'></span>体系名称", width140, align"left", edit'text'}
          , {field"rztxmc", title"<span style='color:#c00'>*</span>认证体系名称", width140, align'left', edit'text'}
          , {
            field"rzrq", title"认证日期", width160, 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>认证机构", width140, align'left', edit'text'}
          , {
            field"zsdqsj", title"<span style='color:#c00'>*</span>证书到期时间", width160, 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"认证覆盖产品", width140, align'left', edit'text'}
          , {
            field"jhrzsj", title"若无,计划认证时间", width160, align'left', edit'select',

          }
          , {field"ywjm", title"原文件名", width140, align'left'}
          , {
            field'操作', title'操作', width'10%', unresizetrue, 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>&nbsp;<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', hidetrue}
          , {field"cdmc", title"cdmc", align'left', hidetrue}
          , {field"scsj", title"scsj", align'left', hidetrue}
          , {field"ccm", title"ccm", align'left', hidetrue}
          , {field"xg", title"xg", align'left', hidetrue}
          , {field"fjm", title"fjm", align'left', hidetrue}
          , {field"fjID", title"fjID", align'left', hidetrue}
        ]]
        , done: function (res, curr, count) {
          //日期控件
          // 上传文件
          var data = res.data;
          for (var i = 0; i < data.length; i++) {
            var elem = '#uploadFile' + i;
            //循环初始上传组件
            var uploadInst = upload.render({
              elem: elem //绑定元素
              , url: $("#contextpath").val() + '/upload/uploadFile2.do' //上传接口
              , field'files'
              , autotrue
              , accept'file'
              // ,exts'xls|xlsx|csv'
              //添加上传额外参数
              , 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();//设置每次新增的批次
                    $("#sjbs").val($("#sjbs").attr('name') + new Date().getTime());//如果没有创建时间标识,就自己新增
                  }
                  mcs.setSjbs(sjbs);
                  return sjbs;
                }
              }
              //文件上传前回调
              , before: function (obj{
                //开启加载
                layer.load(2, {time10 * 1000, offset'200px'});
                //从表格缓存中获取table指定行数据
                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';
                })
              }
              //上传成功后回调
              , done: function (res, index, upload{
                txrzxg = true;
                layer.closeAll();
                if (res.status === "Y") {
                  updateRow['ccm'] = res.fileName;
                  updateRow['sjbs'] = res.sjbs;
                  //文件上传成功,更新表格数据
                  tableRowTool.update(updateRow);
                  //文件上传成功后,去掉.layui-table-click Table选中行状态
                  tableRowTool.tr.prop("class""");
                  layer.msg(res.msg, {
                    icon1
                    , time2000
                    , offset'200px'
                  }, function () {

                  })
                } else {
                  layer.msg(res.msg, {
                    icon5
                    , time2000
                    , offset'200px'
                  })
                }
                //删除文件队列已经上传成功的文件
                return delete this.files[index];
              }
              //上传错误回调
              , error: function ({
                layer.closeAll();
                //请求异常回调
              }
            });
          }
        layer.closeAll();
        }

      })

处理方法:

//监听行工具事件
    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);
          }});
      }

    });

方法二:不建议使用,因为不够灵活

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'暂无相关数据'}
        , toolbar"#toolbarplan"
        , cols: [[
          {type"checkbox", fixed"left", width50}
          , {
            field"number", title"序号", width'10%', align"left", templet: function (data) {
              return data.LAY_INDEX
            }
          }
          , {field"ID", title"ID", align"left", hidetrue}
          , {field"action", title"action", align"left", hidetrue}
          , {field"sjbs", title"sjbs", align"left", hidetrue}
          , {field"供应商名称", title"供应商名称", width'15%', align"left"}
          , {field"主要产品类型", title"主要产品类型", width'15%', align'left'}
          , {field"所在省份", title"所在省份", width'15%', align'left'}
            , {
               field"PSA计划时间", title"PSA计划时间", width'20%', align'left', templet:function (d) {
   
               return  ' <input type="text" class="layui-input layui-input-date" value="'+d.PSA计划时间+'" id="test1">'
              }

}
, {field"PSA计划负责人", title"PSA计划负责人", align'left',edit:'text'} ]] , done: function (res) {//当数据渲染完后,执行的回调 //日期控件 $(".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计划时间': value}) } } }); }); layer.closeAll(); } });

以上是“layui中table表格上如何添加日期控件”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×