自己封装的关于jquery easyUI的datetimebox开始时间不能大于结束时间的判断

工作中遇到jquery easyUI中的时间没有属性判断时,自己封装了以下的方法:

1.首先定义两个相同的方法,方法名为formatDateTimeBox(startTimeId,endTimeId,true)和formatDateTimeBox(endTimeId,startTimeId,false);

2.参数介绍:startTimeId为时间查询框中开始时间的ID,endTimeId为结束时间的ID,第三个参数true or false判断先点击前面的时间框还是后面的时间查询框。

3.公共方法:文字不多说,直接上代码.

functionformatDateTimeBox(frontId,lastId,flag){

$("#"+frontId).datetimebox({
formatter: function (date) {
var y = date.getFullYear();
var m = date.getMonth() + 1 ;
var d = date.getDate();
var h = date.getHours()<10 ? "0"+date.getHours():date.getHours();
var minute=date.getMinutes()<10 ? "0"+date.getMinutes():date.getMinutes();
var s =date.getSeconds()<10 ? "0"+date.getSeconds():date.getSeconds();
sTime = y + "-" + (m < 10 ? ("0" + m) : m) + "-" + (d < 10 ? ("0" + d) : d)+" " + h+":"+minute+":"+s ;
sTime= sTime.replaceAll("-","").replaceAll(" ","").replaceAll(":","");
eTime=$("#"+lastId).datetimebox("getValue").replaceAll("-","").replaceAll(" ","").replaceAll(":","");
if(flag==true){
if(parseInt(sTime)>parseInt(eTime)){
alert("提示", "开始时间不能大于结束时间!");
return "";
}else{
return y + "-" + (m < 10 ? ("0" + m) : m) + "-" + (d < 10 ? ("0" + d) : d)+" " + h+":"+minute+":"+s ;
}
}else{
if(parseInt(sTime)<parseInt(eTime)){
alert("提示", "开始时间不能大于结束时间!");
return "";
}else{
return y + "-" + (m < 10 ? ("0" + m) : m) + "-" + (d < 10 ? ("0" + d) : d)+" " + h+":"+minute+":"+s ;
}
}

},
onSelect: function(date){
var y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
var h = date.getHours()<10 ? "0"+date.getHours():date.getHours();
var minute=date.getMinutes()<10 ? "0"+date.getMinutes():date.getMinutes();
var s =date.getSeconds()<10 ? "0"+date.getSeconds():date.getSeconds();
return y + "-" + (m < 10 ? ("0" + m) : m) + "-" + (d < 10 ? ("0" + d) : d)+" " + h+":"+minute+":"+s;
}
});

}

需要注意的是js的replaceAll方法,需要自己在js里申明这样一个方法:

String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) {
if (!RegExp.prototype.isPrototypeOf(reallyDo)) {
return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi": "g")), replaceWith);
} else {
return this.replace(reallyDo, replaceWith);
}
};

更多 0

工作中遇到jquery easyUI中的时间没有属性判断时,自己封装了以下的方法:

1.首先定义两个相同的方法,方法名为formatDateTimeBox(startTimeId,endTimeId,true)和formatDateTimeBox(endTimeId,startTimeId,false);

2.参数介绍:startTimeId为时间查询框中开始时间的ID,endTimeId为结束时间的ID,第三个参数true or false判断先点击前面的时间框还是后面的时间查询框。

3.公共方法:文字不多说,直接上代码.

functionformatDateTimeBox(frontId,lastId,flag){

$("#"+frontId).datetimebox({
formatter: function (date) {
var y = date.getFullYear();
var m = date.getMonth() + 1 ;
var d = date.getDate();
var h = date.getHours()<10 ? "0"+date.getHours():date.getHours();
var minute=date.getMinutes()<10 ? "0"+date.getMinutes():date.getMinutes();
var s =date.getSeconds()<10 ? "0"+date.getSeconds():date.getSeconds();
sTime = y + "-" + (m < 10 ? ("0" + m) : m) + "-" + (d < 10 ? ("0" + d) : d)+" " + h+":"+minute+":"+s ;
sTime= sTime.replaceAll("-","").replaceAll(" ","").replaceAll(":","");
eTime=$("#"+lastId).datetimebox("getValue").replaceAll("-","").replaceAll(" ","").replaceAll(":","");
if(flag==true){
if(parseInt(sTime)>parseInt(eTime)){
alert("提示", "开始时间不能大于结束时间!");
return "";
}else{
return y + "-" + (m < 10 ? ("0" + m) : m) + "-" + (d < 10 ? ("0" + d) : d)+" " + h+":"+minute+":"+s ;
}
}else{
if(parseInt(sTime)<parseInt(eTime)){
alert("提示", "开始时间不能大于结束时间!");
return "";
}else{
return y + "-" + (m < 10 ? ("0" + m) : m) + "-" + (d < 10 ? ("0" + d) : d)+" " + h+":"+minute+":"+s ;
}
}

},
onSelect: function(date){
var y = date.getFullYear();
var m = date.getMonth() + 1;
var d = date.getDate();
var h = date.getHours()<10 ? "0"+date.getHours():date.getHours();
var minute=date.getMinutes()<10 ? "0"+date.getMinutes():date.getMinutes();
var s =date.getSeconds()<10 ? "0"+date.getSeconds():date.getSeconds();
return y + "-" + (m < 10 ? ("0" + m) : m) + "-" + (d < 10 ? ("0" + d) : d)+" " + h+":"+minute+":"+s;
}
});

}

需要注意的是js的replaceAll方法,需要自己在js里申明这样一个方法:

String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) {
if (!RegExp.prototype.isPrototypeOf(reallyDo)) {
return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi": "g")), replaceWith);
} else {
return this.replace(reallyDo, replaceWith);
}
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值