一下是我的例子,要实现的功能是通过前面的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>  

解决方案 »

  1.   

    js不重要,关键是我说的功能能不能通过js时间日期控件实现
      

  2.   

    这个可以自己写,不需要什么控件。在select中加个onchange事件控制,<select name="time" onchange="addBeginEnd()">
    select change时,用当前时间加上选取的时间,赋值给 两个input
      

  3.   

    http://www.my97.net 大家用了,都说好!!!!!
      

  4.   


    <!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>这个意思?
      

  5.   

    七楼的代码好强大,刚刚接触js,看不太懂。能给点学习js的建议吗