//根据星期数自动计算最近日期
function calDateByWeek(){
var startweek=$("#startweek").val();
var startWeekHour=$("#startWeekHour").val();
var startWeekMin=$("#startWeekMin").val();
var endweek=$("#endweek").val();
var endWeekHour=$("#endWeekHour").val();
var endWeekMin=$("#endWeekMin").val();
var startDate = new Date();
startDate.setHours(startWeekHour);
startDate.setMinutes(startWeekMin);
var endDate = new Date();
endDate.setHours(endWeekHour);
endDate.setMinutes(endWeekMin);
if(startweek!=''&&endweek!=''){
if(startweek<endweek){
if(endDate.getDay()>endweek){//例:周一到周三
startDate.setDate(startDate.getDate()-(startDate.getDay()-startweek));
endDate.setDate(endDate.getDate()-(endDate.getDay()-endweek));
}else if(endDate.getDay()<=endweek){
startDate.setDate(startDate.getDate()-(startDate.getDay()-startweek)-7);
endDate.setDate(endDate.getDate()-(endDate.getDay()-endweek)-7);
}
}else if(startweek>=endweek){//例:周四到周一或周一到周一
if(endDate.getDay()>endweek){
startDate.setDate(startDate.getDate()-(startDate.getDay()-startweek)-7);
endDate.setDate(endDate.getDate()-(endDate.getDay()-endweek));
}else if(endDate.getDay()<=endweek){
startDate.setDate(startDate.getDate()-14+(startweek-startDate.getDay()));
endDate.setDate(endDate.getDate()-7+(endweek-endDate.getDay()));
}
}
//alert(startDate.toLocaleString()+" "+endDate.toLocaleString());
//alert(startDate.getTime()+" "+endDate.getTime());
$("#starttime").attr("value",startDate.getTime());
$("#endtime").attr("value",endDate.getTime());
}
}
不废话,直接上代码
<select id="startweek" name="startweek" οnchange="calDateByWeek();">
<option value="">
请选择
</option>
<option value="1">
周一
</option>
<option value="2">
周二
</option>
<option value="3">
周三
</option>
<option value="4">
周四
</option>
<option value="5">
周五
</option>
<option value="6">
周六
</option>
<option value="7">
周日
</option>
</select>
<select id="startWeekHour" name="startWeekHour"
οnchange="calDateByWeek();">
<c:forEach var="number" begin="0" end="23" step="1">
<option value="${number}">
${number}时
</option>
</c:forEach>
</select>
<select id="startWeekMin" name="startWeekMin"
οnchange="calDateByWeek();">
<c:forEach var="number" begin="0" end="59" step="1">
<option value="${number}">
${number}分
</option>
</c:forEach>
</select>
<select id="endweek" name="endweek" οnchange="calDateByWeek();">
<option value="">
请选择
</option>
<option value="1">
周一
</option>
<option value="2">
周二
</option>
<option value="3">
周三
</option>
<option value="4">
周四
</option>
<option value="5">
周五
</option>
<option value="6">
周六
</option>
<option value="7">
周日
</option>
</select>
<select id="endWeekHour" name="endWeekHour" οnchange="calDateByWeek();">
<c:forEach var="number" begin="0" end="23" step="1">
<option value="${number}">
${number}时
</option>
</c:forEach>
</select>
<select id="endWeekMin" name="endWeekMin" οnchange="calDateByWeek();">
<c:forEach var="number" begin="0" end="59" step="1">
<option value="${number}">
${number}分
</option>
</c:forEach>
</select>