zoukankan      html  css  js  c++  java
  • 表格中的日期控件的使用

    1、js

    {
                colkey : "BJQSRQ",
                name : "起始日期",
                renderData : function(rowindex,data, rowdata, column) {
                    var df =  new Date().format("yyyy-MM");
                    if(data){
                        df =  new Date(data).format("yyyy-MM");
                    }
                    var selfid = "bjqsrq"+rowindex+"pn"+thispageNow;
                    if(datepa){
                        datepa.push(selfid);
                    }
                    var zt = $("#bjsqzt").val();
                    var dis = '';
                    if (zt == '(提交审核中)') {
                        dis = 'disabled';
                    }
                    var grzh = rowdata.GRZH+"";
              //数据回显判断,保证修改数据在分页时不会丢失
    var isOk = saveData.has(grzh); if(isOk){ // 存在当前数据 var dataObj = saveData.get(grzh); if(dataObj){ df = new Date(dataObj['bjqsrq']).format("yyyy-MM"); } } // /onchange="startDateOnChange(this)" return '<input type="text" id="'+selfid+'" nane="startMonthSelect" class="form-control" onClick="getCalendar(this)" readonly value="'+df+'"'+dis+'/>'; }

    2、在数据加载完后,初始化日期控件

    /**
     * 初始化日期控件
     */
    function initDateTimePicker(){
        //var test = $("#testtesttest").datetimepicker();
        //datetimepicker、 datepicker 或 timepicker  bjjzrq1565684696055 bjjzrq1565684696053
        var lena = datepa.length;
        if(datepa){
            for(var i=0; i< lena;i++){
                var ids = datepa[i];
                var bst = ids.slice(0,3);
                var sDateSetVal = new Date();
                var eDateSetVal = new Date();
                if(bst == 'bjj'){
                    //补缴截至日期
                    sDateSetVal = getLastYearYestdy(sDateSetVal,1);
                    //eDateSetVal.setFullYear(sDateSetVal.getFullYear());// =  new Date();
                }else{
                    sDateSetVal = getLastYearYestdy(sDateSetVal,2);
                }
                //console.log(lena[i]);
                $("#"+ids).datetimepicker({
                    language:  'zh-CN', //中文:’zh-CN’
                    format: 'yyyy-mm', //yyyy年,全部 如:2016 ; mm:月,数字表示,前面补0 如:04
                    startDate : sDateSetVal, //开始时间
                    endDate : eDateSetVal,//Date. 默认值:结束时间
                    weekStart: 1, //一周从哪一天开始
                    autoclose: true, //选完时间后是否自动关闭
                    startView: 3, //选完时间首先显示的视图 3从年视图开始,选月
                    minView: 3, //最精确的时间 从年视图开始,选月
                    todayHighlight :true,// — 当天日期高亮
                    forceParse: true//当选择器关闭的时候,是否强制解析输入框中的值。也就是说,当用户在输入框中输入了不正确的日期,选择器将会尽量解析输入的值,并将解析后的正确值按照给定的格式format设置到输入框中
                }).on('changeDate', function(ev){
                    //debugger
                    //var oldTimeStamp = ev.timeStamp;
                    //var oldDate = dateFormatUtil(oldTimeStamp);
                    //console.log(gridBjsq.getColumn());
                    //获取它的父节点的父节点
                    var thistr = ev.currentTarget.parentNode.parentNode;
                    //var ss = thistr.find('[name="startMonthSelect"]');
    
                    var sids = ev.currentTarget.id;
                    var tbst = sids.slice(0,3);
                    
                    var thistd_sd = thistr.childNodes[8];
                    var dateInput_sd = thistd_sd.childNodes[0];
                    var ip_startDate = dateInput_sd.value;
                    var thistd_ed = thistr.childNodes[9];
                    var dateInput_ed = thistd_ed.childNodes[0];
                    var ip_endDate = dateInput_ed.value;
                    if (ip_startDate >= ip_endDate){
                        layer.msg('补缴起始日期不能大于补缴截至日期,请重新输入!', {icon: 5});
                        return false;
                    }
    
                    //截至日期
                    var sd_date = new Date(ip_startDate);
                    var sd_year = sd_date.getFullYear();
                    var sd_mon = sd_date.getMonth()+1;
                    //var eval = ev.date.valueOf();
                    var ed_date = new Date(ip_endDate);
                    var ed_year = ed_date.getFullYear();
                    var ed_mon = ed_date.getMonth()+1;
                    //补缴期数
                    var bjqs = Math.abs(ed_year - sd_year)*12 + Math.abs(ed_mon - sd_mon) + 1;
                    //补缴期数
                    var this_td = thistr.childNodes[10];
                    this_td.id = 'td'+bjqs+ev.timeStamp;
                    this_td.innerHTML = bjqs+'';
                    this_td.innerText = bjqs+'';
                    
                    var thistd = thistr.childNodes[6];
                    var thistd_input = thistd.childNodes[0];
                    var bjce_value = thistd_input.value;
                    //个人账号
                    var td_grzh = thistr.childNodes[1];
                    var td_iput_grzh = td_grzh.childNodes[0];
                    var grzh = td_iput_grzh.value;
                    var rowid = 0;
                    debugger
                    setValueChange(thistd_input,grzh,rowid,ip_startDate,ip_endDate,bjqs,'BJCE_INPUT');
    
                });
            }
        }
    }

    3、点击日期控件时,显示日期控件

    /**
     * 
     * @param self
     * @returns
     */
    function getCalendar(self){
        var sid = self.id;
        //console.log("===="+sid);
        //显示日期时间选择器。
        $("#"+sid).datetimepicker('show');
    }
  • 相关阅读:
    电脑不能连接到热点
    常用网络协议
    HVV面试
    【转载】hacker术语
    渗透测试学习路线
    系统安全——可信计算
    rsync文件同步详解
    rabbitmq集群部署高可用配置
    ansible自动化部署之路笔记
    ELK-elasticsearch-6.3.2部署
  • 原文地址:https://www.cnblogs.com/ywf520/p/11387813.html
Copyright © 2011-2022 走看看