日期:2014-05-16  浏览次数:20329 次

求一个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
------解决方案--------------------
HTML code

<!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;