表格中的日期控件的使用
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'); }
用自己所知道的去帮助他人,就像别人当初帮助自己一样!