求一个js日期时间控件,我有一个例子,但功能不能实现
一下是我的例子,要实现的功能是通过前面的select可以控制后面的js时间控件,根据select的值显示在<input>中,比如选择一周,那么开始时间就是从当前时间向前推一周,结束时间就是当前时间,
<input>中是一个js时间控件
<script type="text/javascript" src="include/new_aeroncalendar.js"></script>
<form>
<select name="time">
<option value="1">一周</option>
<option value="1">一个月</option>
<option value="1">三个月</option>
<option value="1">半年</option>
<option value="1">一年</option>
</select>
<input type="text" id="endtime" onclick="SelectDate(this,'yyyy-MM-dd hh:mm:ss')" value="开始时间"/>
<input type="text" id="endtime" onclick="SelectDate(this,'yyyy-MM-dd hh:mm:ss')" value="结束时间"/>
</form>
[解决办法]
这个可以自己写,不需要什么控件。在select中加个onchange事件控制,<select name="time" onchange="addBeginEnd()">
select change时,用当前时间加上选取的时间,赋值给 两个input
[解决办法]
<!DOCTYPE HTML><html> <head> <meta charset="gb2312" /> <title></title> <style> input { width:200px; } </style> </head> <body> <select id="time"> <option value="0">请选择</option> <option value="1">一周</option> <option value="2">一个月</option> <option value="3">三个月</option> <option value="4">半年</option> <option value="5">一年</option> </select> <input type="text" id="stime" onclick="SelectDate(this,'yyyy-MM-dd hh:mm:ss')" value="开始时间"/> <input type="text" id="etime" onclick="SelectDate(this,'yyyy-MM-dd hh:mm:ss')" value="结束时间"/> <script> function $(el){ return typeof el == 'string' ? document.getElementById(el) : el; } var s = $('stime'); var e = $('etime'); $('time').onchange = function(){ var d = new Date(); e.value = d.toLocaleString().replace(/年|月/g, '-').replace('日', ''); switch( +this.value ){ case 1: s.value = setTime(d, {type:'d', value: -7}); break; case 2: s.value = setTime(d, {type:'M', value: -1}); break; case 3: s.value = setTime(d, {type:'M', value: -3}); break; case 4: s.value = setTime(d, {type:'M', value: -6}); break; case 5: s.value = setTime(d, {type:'y', value: -1}); break; } } function setTime(d, opts){ if(!d) return; var t = opts.type || 'd', v = opts.value || 1; switch( t ){ case 'y': d.setFullYear( d.getFullYear() + v ); break; case 'M': d.setMonth( d.getMonth() + v ); break; case 'd': d.setDate( d.getDate() + v ); break; case 'h': d.setHours( d.getHours() + v ); break; case 'm': d.setMinutes( d.getMinutes() + v ); break; case 's': d.setSeconds( d.getSeconds() + v ); break; } return d.toLocaleString().replace(/年|月/g, '-').replace('日', ''); } </script> </body></html>