1 HTML代码
<select id="dateType" onchange="setDateTimeDom()>
<option value="1">年</option>
<option value="2">季度</option>
<option value="3">月</option>
<option value="4">周</option>
<option value="5">日</option>
<option value="6">小时</option>
</select>
<div id="dateTimeDiv">
<input type="text" onclick="WdatePicker({ dateFmt: 'yyyy', maxDate: '%y' })"/>
</div>
2 JS代码
//重新替换控件
function setDateTimeDom(){
var dateType=$("#dateType").val();
var html="";
switch(dateType){
case "1":
html="<input type='text' onclick='WdatePicker({ dateFmt: \"yyyy\", maxDate: \"%y\" })'/>";
break;
case "2":
html="<input type='text' onclick='WdatePicker({ dateFmt: \"yyyy-MM季度\", isQuarter: true, isShowOK: false, disabledDates: [\"....-0[5-9]-..\", \"....-1[0-2]-..\"], startDate: \"%y-01-01\" })'/>";
break;
case "3":
html="<input type='text' onclick='WdatePicker({ dateFmt: \"yyyy-MM\", maxDate: \"%y-%M\" })'/>";
break;
case "4":
html="<input id='week' type='text' onclick='WdatePicker({ isShowWeek: true, onpicked: GetWeek, firstDayOfWeek: 1, errDealMode: 3, isShowClear: true, maxDate: \"%y-%M-{%d-1}\"})'/>";
break;
case "5":
html="<input type='text' onclick='WdatePicker({ dateFmt: \"yyyy-MM-dd\", maxDate: \"%y-%M-%d\" })'/>";
break;
case "6":
html="<input type='text' onclick='WdatePicker({ dateFmt: \"yyyy-MM-dd HH时\", maxDate: \"%y-%M-%d %H时\" })'/>";
break;
}
$("#dateTimeDiv").html(html);
}
//返回yyyy年-第WW周格式
function GetWeek(){
$('#week').val($dp.cal.getP('y')+'-'+$dp.cal.getP('W')+'周');
}
注:多个日期格式共用一个日期控件时,切换日期格式时不能只是将日期控件的onclick属性重新替换,而是需要将日期控件重新替换,否则会出现onclick属性重新替换掉了但是选择日期的时候还是上一个日期格式的日期。