表格中的日期控件的使用

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');
}

猜你喜欢

转载自www.cnblogs.com/ywf520/p/11387813.html