📄 datechooser.htc
字号:
var today = new Date();
if(today < Mindate || today > Maxdate)
btntd.style.display = 'none';
if(element.Culture == 'Cn')
{
try
{
mprev.title= "\u4E0A\u4E00\u4E2A\u6708";
mnext.title= "\u4E0B\u4E00\u4E2A\u6708";
yprev.title= "\u4E0A\u4E00\u5E74";
ynext.title= "\u4E0B\u4E00\u5E74";
btntd.innerText = "\u4ECA\u5929";
btnok.innerText = "\u5173\u95ED";
btnbl.innerText = "\u6E05\u7A7A";
}
catch(e)
{
mprev.title="Select previous month";
mnext.title="Select next month";
yprev.title="Select previous year";
ynext.title="Select next year";
btntd.innerText = "Today";
btnok.innerText = "Close";
btnbl.innerText = "Clear";
}
}
else
{
mprev.title="Select previous month";
mnext.title="Select next month";
yprev.title="Select previous year";
ynext.title="Select next year";
btntd.innerText = "Today";
btnok.innerText = "Close";
btnbl.innerText = "Clear";
}
for(var i = 0 ; i < 7 ;i ++)
{
tabledays.rows[0].cells[i].innerText = weeknames[i];
}
CMO();
ysel.options.length=0;
CYO();
function tablepanel.onselectstart()
{
return win.event.returnValue=false;
}
var labels=[mprev,mnext,yprev,ynext];
for(var i=0;i<labels.length;i++)
{
if(labels[i].disabled!=true&&labels[i].currentStyle.disabled!='1')
{
labels[i].style.cursor='hand';
labels[i].onmouseover=OLMO;
labels[i].onmouseout=OLMOT;
}
}
msel.onchange=ysel.onchange=
function FromUIDateOfSelect()
{
date=new Date(ysel.value,msel.options[msel.selectedIndex].value*1 - 1 ,date.getDate());
UAS();
}
mprev.ondblclick=function mprev.onclick(){ SetM(-1); }
mnext.ondblclick=function mnext.onclick(){ SetM(1); }
yprev.ondblclick=function yprev.onclick(){ SetY(-1); }
ynext.ondblclick=function ynext.onclick(){ SetY(1); }
function btntd.onclick()
{
date=new Date();
UAS();
}
function btnbl.onclick()
{
SEV("");
HP();
}
function btnok.onclick()
{
STE();
HP();
}
outerPanel.style.position='absolute';
outerPanel.style.left=0;
outerPanel.style.top=0;
outerPanel.style.display='none';
outerPanel.style.zIndex=1000;
element.document.body.insertAdjacentElement('afterbegin',outerPanel);
CS.addEventListener(btndropdown,'click',element_onpopup);
CS.addEventListener(btndropdown,'mousedown',OBMD);
CS.addEventListener(btndropdown,'mouseover',OBMO);
CS.addEventListener(btndropdown,'mouseout',OBMOT);
CS.addEventListener(btndropdown,'mouseup',OBMU);
function element_onpopup()
{
SP();
if(event.type=='contextmenu')
return event.returnValue=false;
}
if(element.tagName != "TABLE")
window.status = "Can't initialize DateChooser...";
CS.addEventListener(input,"click",sD);
CS.addEventListener(btnadd,"click",DA);
CS.addEventListener(btnadd,"mousedown",A);
CS.addEventListener(btnadd,"mouseup",S);
CS.addEventListener(btnadd,"mouseover",CFOV);
CS.addEventListener(btnadd,"mouseout",CFOO);
CS.addEventListener(btnreduce,"click",DR);
CS.addEventListener(btnreduce,"mousedown",A);
CS.addEventListener(btnreduce,"mouseup",S);
CS.addEventListener(btnreduce,"mouseover",CFOV);
CS.addEventListener(btnreduce,"mouseout",CFOO);
Maxdate = null;
Mindate = null;
}
function SetD(d)
{
SD(date,d)
UAS();
}
function SetM(m)
{
SM(date,m)
UAS();
}
function SetY(y)
{
SY(date,y)
UAS();
}
function UAS()
{
UUI();
STE();
}
function SW()
{
isvalidted = false;
input.runtimeStyle.backgroundColor=wrongbackcolor;
input.runtimeStyle.color=wrongforecolor;
}
function SR()
{
isvalidted = true;
input.runtimeStyle.backgroundColor=''
input.runtimeStyle.color=''
}
var sbt=false;
function SEV(str)
{
sbt=true;
try
{
input.value=str;
}
finally
{
sbt=false;
}
}
function GEV()
{
return input.value.replace(/^\s*/g,"").replace(/\s*$/g,"");
}
function STE()
{
SR();
//date = (date < mindate)?mindate:date;
//date = (date > maxdate)?maxdate:date;
var Maxdate = element.MaxDate||"9998/11/31";
Maxdate = CS.replace(Maxdate,"-","/");
Maxdate = new Date(Maxdate);
var Mindate = element.MinDate||"0001/01/01";
Mindate = CS.replace(Mindate,"-","/");
Mindate = new Date(Mindate);
if(date < Mindate)
date = Mindate;
if(date > Maxdate)
date = Maxdate;
Mindate = null;
Maxdate = null;
if(allownull && CS.stringTrim(input.value) == ""&&(!showed))
return;
if(input.value != (FD(date,dateformat||"yyyy-MM-dd")))
{
SEV(FD(date,dateformat||"yyyy-MM-dd"));
if(dopostback &&parent.__doPostBack)
{
eval("parent.__doPostBack('"+input.name+"','');");
}
}
//input.select();
}
function SFE()
{
var value=GEV();
if(allownull&&value=='')
{
SR();
return;
}
var d=CTD(value);
if(d)
{
var Maxdate = element.MaxDate||"9998/11/31";
Maxdate = CS.replace(Maxdate,"-","/");
Maxdate = new Date(Maxdate);
var Mindate = element.MinDate||"0001/01/01";
Mindate = CS.replace(Mindate,"-","/");
Mindate = new Date(Mindate);
if((d < Mindate)||(d > Maxdate))
{
SW();
d = (d < Mindate)?Mindate:d;
d = (d > Maxdate)?Maxdate:d;
}
else
SR();
date=d;
Mindate = null;
Maxdate = null;
if(showed)
UUI();
return;
}
SW();
}
function UUI()
{
var Maxdate = element.MaxDate||"9998/11/31";
Maxdate = CS.replace(Maxdate,"-","/");
Maxdate = new Date(Maxdate);
var Mindate = element.MinDate||"0001/01/01";
Mindate = CS.replace(Mindate,"-","/");
Mindate = new Date(Mindate);
if(uidate&&IDE(date,uidate))return;
date = (date > Maxdate)?Maxdate:date;
date = (date < Mindate)?Mindate:date;
Mindate = null;
Maxdate = null;
uidate=new Date(date);
yprev.disabled = ynext.disabled = mprev.disabled = mnext.disabled = false;
CYO();
CMO();
CD();
}
function CYO()
{
var Maxdate = element.MaxDate||"9998/11/31";
Maxdate = CS.replace(Maxdate,"-","/");
Maxdate = new Date(Maxdate);
var Mindate = element.MinDate||"0001/01/01";
Mindate = CS.replace(Mindate,"-","/");
Mindate = new Date(Mindate);
yprev.disabled = (date.getFullYear() < Mindate.getFullYear());
ynext.disabled = (date.getFullYear() > Maxdate.getFullYear());
if(date.getFullYear() == maxdate.getFullYear())
{
ynext.disabled = true;
if(date.getMonth() >= Maxdate.getMonth())
mnext.disabled = true;
}
if(date.getFullYear() == Mindate.getFullYear())
{
yprev.disabled = true;
if(date.getMonth() <= Mindate.getMonth())
mprev.disabled = true;
}
var dc=GMDL(date);
if(maxdate.getFullYear() - Mindate.getFullYear() > 40)
{
var tyear=date.getFullYear();
if(ysel.options.length == 0 || ysel.options[0] == null)
{
for(var i=tyear-20;i<tyear+20;i++)
AO(ysel,i,i);
}
var ymiddle=parseInt(ysel.options(Math.ceil(ysel.options.length/2)).value);
if(date.getFullYear()>ymiddle+8||date.getFullYear()<ymiddle-8)
{
ymiddle=date.getFullYear();
ysel.options.length=0;
var startyear = (ymiddle - 20 < Mindate.getFullYear())?Mindate.getFullYear():ymiddle-20;
var endyear = ymiddle + 20 + ((20 + Mindate.getFullYear() - ymiddle > 0)?(20 + Mindate.getFullYear() - ymiddle):0);
if(endyear > Maxdate.getFullYear())
{
startyear = startyear - (endyear - Maxdate.getFullYear());
endyear = Maxdate.getFullYear();
}
if(startyear < Mindate.getFullYear())
startyear = Mindate.getFullYear();
for(var i=startyear;i<=endyear;i++)
{
AO(ysel,i,i);
}
ysel.value=ymiddle;
}
}
else
{
if(ysel.options.length == 0 || ysel.options[0] == null)
{
for(var i = Mindate.getFullYear() ; i < Maxdate.getFullYear()+1 ; i ++)
{
AO(ysel,i,i);
}
}
}
if(ysel.selectedIndex == null||ysel.selectedIndex < 0 || ysel.options[ysel.selectedIndex].value!=date.getFullYear())
{
SSO(ysel,date.getFullYear());
}
Maxdate = null;
Mindate = null
}
function CMO()
{
var Maxdate = element.MaxDate||"9998/11/31";
Maxdate = CS.replace(Maxdate,"-","/");
Maxdate = new Date(Maxdate);
var Mindate = element.MinDate||"0001/01/01";
Mindate = CS.replace(Mindate,"-","/");
Mindate = new Date(Mindate);
if(date.getFullYear()!=Mindate.getFullYear() && date.getFullYear() != Maxdate.getFullYear())
{
if(msel.options.length != 12)
{
msel.options.length = 0;
for(var i=0;i<12;i++)
{
var mop = document.createElement("OPTION");
mop.text = monthnames[i];
msel.options.add(mop);
msel.options[i].value=i+1;
}
}
}
else
{
if(date.getFullYear() == Mindate.getFullYear()&&date.getFullYear() == Maxdate.getFullYear())
{
msel.options.length = 0;
var j = 0;
for(var i = Mindate.getMonth(); i < Maxdate.getMonth() + 1 ; i ++,j++)
{
var mop = document.createElement("OPTION");
mop.text = monthnames[i];
msel.options.add(mop);
msel.options[j].value=i+1;
}
}
else
{
if(date.getFullYear() == Mindate.getFullYear())
{
var j = 0 ;
msel.options.length = 0 ;
for(var i = Mindate.getMonth(); i < 12 ; i ++,j++)
{
var mop = document.createElement("OPTION");
mop.text = monthnames[i];
msel.options.add(mop);
msel.options[j].value=i+1;
}
}
else
{
msel.options.length = 0 ;
var j = 0 ;
for(var i = 0; i < Maxdate.getMonth() + 1 ; i ++,j++)
{
var mop = document.createElement("OPTION");
mop.text = monthnames[i];
msel.options.add(mop);
msel.options[j].value=i+1;
}
}
}
}
if(msel.options[msel.selectedIndex].value * 1!=date.getMonth()+1)
{
SSO(msel,date.getMonth()+1);
}
Maxdate = null;
Mindate = null;
}
function SSO(sel,v)
{
for(var i = 0 ; i < sel.options.length ; i ++)
{
if(sel.options[i].value == v.toString())
{
sel.options[i].selected = true;
return;
}
}
}
function CD()
{
while(tabledays.rows.length>1)tabledays.deleteRow(1);
var eachday=new Date(date.getFullYear(),date.getMonth(),1);
SD(eachday,-eachday.getDay());
var arr=[];
do
{
var wds=[];
for(var i=0;i<7;i++)
{
wds[i]=new Date(eachday);
SD(eachday,1)
}
arr[arr.length]=wds;
}
while(eachday.getYear()==date.getYear()&&eachday.getMonth()==date.getMonth());
if(arr.length > 5)
outerPanel.style.height = "218";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -