我要做两个下拉框第一个里放年,第二个放月,只能选择一年的时间
例如现在是七月份,年下拉框里只能是2010和2011,月下拉框里从去年的八月到现在的七月这十二个月,根据系统时间变化谢谢哪位可以指点下

解决方案 »

  1.   


    你可以用ajax直接从后台返回数据或者在前台直接生成~·要是生成的话,就得根据你的需求进行判断了~·然后再生成
      

  2.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript">
    window.onload = function() {
    var d = new Date();
    var y = d.getFullYear();
    var YM = {};
    var ar_m = [];
    for (m = d.getMonth() + 1; m >= 1; m --) ar_m.push(m);
    YM[y] = ar_m;
    if(d.getMonth() != 11) {
    y --;
    ar_m = [];
    for(var i = 11 - d.getMonth(), m = 12; i > 0; m --, i --) ar_m.push(m);
    YM[y] = ar_m;
    }
    var opt_y = '';
    var opt_m = '';

    y = d.getFullYear();
    for(var x in YM) {
    opt_y += '<option value="' + x + '"';
    if (x == y) opt_y += ' selected="selected"';
    opt_y += '>' + x + '年' + '</option>';
    }
    for(var i = 0; i < YM[y].length; i ++) {
    opt_m += '<option value="' + YM[y][i] + '"';
    if (YM[y][i] - 1 == d.getMonth()) opt_m += ' selected="selected"';
    opt_m += '>' + YM[y][i] + '月' + '</option>';
    }

    document.getElementById('y').innerHTML = opt_y;
    document.getElementById('m').innerHTML = opt_m;

    document.getElementById('y').onchange = function() {
    var y = this.value;
    var ar = YM[y];
    var opt_m = '';
    for(var i = 0; i < ar.length; i ++) opt_m += '<option value="' + ar[i] + '">' + ar[i] + '月' + '</option>';
    document.getElementById('m').innerHTML = opt_m;
    }
    }
    </script>
    </head><body>
    <select id="y"></select><select id="m"></select>
    </body>
    </html>
      

  3.   

    这里取的是客户端时间,安全点的做法应该取服务器端时间,PHP版:
    var d = new Date('<?php echo date("Y/m/d"); ?>');
      

  4.   


    <html>   
      <head>   
          
        <title>测试--只能选择之前一年之内的时间</title>     
        <script language="javascript" type="text/javascript" src="Ext/My97DatePicker/WdatePicker.js"></script>  
      </head>   
         
      <body>   
        <input class="Wdate" type="text" onfocus="WdatePicker({minDate:'{%y-1}-%M-%d',maxDate:'%y-%M-%d'})"/>  
      </body>   
    </html>
      

  5.   

    楼主可以通过My97DatePicker这个日期控件,设置好格式即可,如你的需求只需要设置为以下格式即可onfocus="WdatePicker({minDate:'{%y-1}-%M-%d',maxDate:'%y-%M-%d'})"
      

  6.   

    有时间写了一个楼主你要的,关键你先去自己下载一个WdatePicker日期控件<html>   
      <head>   
          
        <title>test</title>     
        <script language="javascript" type="text/javascript" src="My97DatePicker/WdatePicker.js"></script>  
      </head>   
         
      <body>   
        年<input id="yy" type="text" onfocus="WdatePicker({minDate:'{%y-1}-%M-%d',maxDate:'%y-%M-%d',dateFmt:'yyyy'})"/>--
        月<input id="m" type="text" onfocus="WdatePicker({minDate:'{%y-1}-%M-%d',maxDate:'%y-%M-%d',dateFmt:'M'})"/>
      </body>   
    </html>
      

  7.   

    不用自己些代码,有一个现成的js日期控件,你在网上搜这个:My97DatePicker日期控件4.7页面一个input标签,加上onClick="WdatePicker({dateFmt:'yyyy-MM-dd',readOnly:true,minDate:'%y-%M-%d',maxDate:'%y-{%M+12}-%d'})"          
    %y表示当前,%M表示当前月 ... %M+12表示明年的这个月份,可以查查这个日期控件的帮助文档
      

  8.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
     <head>
      <title> 日期 </title>
      <script type="text/javascript">
    (function InitSelect(){
    RequstObj = {
    init : init,
    changeMonth : changeMonth
    }
    //通过ID获得控制
    function $(id){
    return document.getElementById(id);
    } //往Select中添加Option选项
    function addOption(val01,id){
    for(var i = 0; i < val01.length; i++){
    var option = document.createElement("option");
    option.text = val01[i];
    id.add(option);
    }
    }
    var year;//存储年份
    var month;//存储月份
    //初始化
    function init(){
    var date = new Date();
    year = date.getFullYear();
    month = date.getMonth() + 1;
    addOption([year-1,year],$("s_year"));
    changeMonth();
    }
    //移除Select中的Option
    function removeSelectOption(id){
    for(var i=id.length - 1;i>-1;i--){
    id.remove(i);
    }
    }
    //通过年份改变相应的月份
    function changeMonth(){
    var y = $("s_year");
    var monthes = [];
    if(y.options[y.selectedIndex].text == year){
    for(var i = 1,j = 0; i <= month; i++,j++){
    monthes[j] = i;
    }
    }else if(y.options[y.selectedIndex].text == (year - 1)){
    for(var i = month + 1,j=0; i <= 12; i++,j++){
    monthes[j] = i;
    }
    }
    var m = $("s_month");
    removeSelectOption(m);
    addOption(monthes,m);
    }
    })();
      </script>
     </head> <body onload="RequstObj.init();">
      <select id="s_year" onchange="RequstObj.changeMonth()"></select>
      <select id="s_month"></select>
     </body>
    </html>