先上图。
开始时间和结束时间
满足条件
0,开始时间<结束时间,
1,二者都不填,不需要提示,
2,其中一个填写另一个提示必填。
html:
开始时间从:
<input type="text" class="textbox easyui-datetimebox" name="startSignedTime" id="startSignedTime" style="width:180px">
到:
<input type="text" class="textbox easyui-datetimebox" name="endSignedTime" id="endSignedTime" style="width:180px">
js:
timeFromTO("SignedTime",0)//startSignedTime排位0,endSignedTime排位1,
/**
* 设置时间的提示框。
* start-end startExpectedTime -endExpectedTime
* dom的位置排位为(0-1) (1-2)
*例子:timeFromTO("ExpectedTime",0)
*
*/
function timeFromTO(fssj,idx){
var fssjFrom1="start"+fssj
var fssjTo1="end"+fssj
$("#"+fssjFrom1).datetimebox({
onHidePanel: function(date){
validateDateTime(fssjFrom1,fssjTo1,fssjFrom1,idx);
}
});
$("#"+fssjTo1).datetimebox({
onHidePanel: function(date){
validateDateTime(fssjFrom1,fssjTo1,fssjTo1,idx);
}
});
}
function validateDateTime(beginTimeId,endTimeId,whichTimeId,idx)
{
var v1=$('#'+beginTimeId).datetimebox("getValue");
var date1 = new Date(v1);
var v2=$('#'+endTimeId).datetimebox("getValue");
var date2 = new Date(v2);
var idx2=idx+1
if(v1==''&&v2==''){//二者都不填,不需要提示,
layer.close(obj.tipArr[idx2])
obj.tipArr[idx2]=null;
layer.close(obj.tipArr[idx])
obj.tipArr[idx]=null;
obj.isStartEndTime=true;
return true;
}
if(v1==''){//其中一个填写另一个提示必填。
if(obj.tipArr[idx]!=null){
return;
}
var ss=$('#tb').find(".datebox").eq(idx)
obj.tipArr[idx]=showTimeTip(ss,4,'请填写开始时间');
}
if(v2==''){//其中一个填写另一个提示必填。
if(obj.tipArr[idx2]!=null){
return;
}
var ss=$('#tb').find(".datebox").eq(idx2)
obj.tipArr[idx2]= showTimeTip(ss,2,'请填写结束时间');
}
console.log(idx2+"kkkk "+obj.tipArr[idx2],obj.tipArr)
if(v1==''||v2=='')
{
obj.isStartEndTime=false;
return true;
}
console.log(date1);
console.log(date2);
if(date1<date2)
{
layer.close(obj.tipArr[idx2])
obj.tipArr[idx2]=null;
layer.close(obj.tipArr[idx])
obj.tipArr[idx]=null;
obj.isStartEndTime=true;
console.log(obj.tipArr)
return true;
}
console.log(date1+"!<"+date2);
try{
$('#'+whichTimeId).datetimebox("setValue","");
}catch(e){
}
try{
$('#'+whichTimeId).datebox("setValue","");
}catch(e){
}
$.messager.alert('提示','开始时间要小于结束时间!');
return false;
}
/**
tooptip
**/
function showTimeTip(box,idx,tip){
var tipindex= layer.tips(tip, box, {
tipsMore: true,
time:1000000,
tips: [idx, '#0FA6D8'] //还可配置颜色
});
return tipindex;
}
用的tooptip并不是easyui的。他自带的不好用。用插件layer,下载地址:http://layer.layui.com/