<% 
String str=request.getParameter("userid");
int id=Integer.parseInt(str);
Resume_basicInfo u=new Resume_basicInfo();
u.getEmployee(id);
%><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Common Site System - Manager - Status</title>
</head>
<body >
<script type="text/javascript"> 
function showDate(d){ 
            var year=d.getFullYear(); 
            var month=d.getMonth()-1; 
            var day=d.getDate()-1;             var $=document.getElementById; 
            $("tYEAR").options.selectedIndex=2008-year; 
            $("tMON").options.selectedIndex=month; 
            $("tDAY").options.selectedIndex=day; 
          } 

         function createSelect(ActionFlag) { 
           var selYear = document.getElementById("tYEAR"); 
           var selMonth = document.getElementById("tMON"); 
           var selDay = document.getElementById("tDAY"); 
           var dt = new Date();               if(ActionFlag == 1) { 
                  MaxYear = dt.getFullYear(); 
                  MinYear = dt.getFullYear()-40;               for(var i = MaxYear; i >= MinYear; i--) { 
                   var op = document.createElement("OPTION"); 
                   op.value = i; 
                   op.innerHTML = i; 
                   selYear.appendChild(op); 
                 } 
                                  for(var i = 1; i < 13; i++) { 
                      var op = document.createElement("OPTION"); 
                      op.value = i; 
                      op.innerHTML = i; 
                      selMonth.appendChild(op); 
                     } 
              
                 }               var date = new Date(selYear.value, selMonth.value, 0); 
               var daysInMonth = date.getDate(); 
                selDay.options.length = 0;                for(var i = 1; i <= daysInMonth ; i++) { 
                   var op = document.createElement("OPTION"); 
                   op.value = i; 
                   op.innerHTML = i; 
                   selDay.appendChild(op); 
                  } 
                
               } 
       </script> 
         <td>
          <select id="tYEAR" size="1" onChange="createSelect()"></select> 
<select id="tMON" size="1" onChange="createSelect();"></select> 
<select id="tDAY" size="1" ></select> 
<script type="text/javascript">createSelect(1); showDate(<%=u.getBirthday()%>); </script>  </td>
这里有问题,u.getBirthday()为一个DATE类型的数据,发觉这样无法传给showDate()函数调用,哪位达人有办法,能将其传给showDate()调用?
谢谢!

解决方案 »

  1.   

    showDate('<%=u.getBirthday()%>');  
      

  2.   

    showDate(new Date(<%=u.getBirthday().getYear()%>,<%=u.getBirthday().getMonth()%>,<%=u.getBirthday().getDay()%>))
      

  3.   

    1楼的方法我试过了,不行的
    2楼 年显示对了,可是日月显示还是不对的><
      

  4.   

    日显示的应该是对的,但是月应该减去1吧,java和js月的起始好像不一样我记得,这种东西你调试下就好了.
    showDate(new Date(<%=u.getBirthday().getYear()%>,<%=u.getBirthday().getMonth()%>-1,<%=u.getBirthday().getDay()%>))
      

  5.   

    不对,日的现实始终是2,不知道为什么,showDate()函数里已经设置过起始月的问题了
    刚按照楼上的方法,原本1985-1-1显示出来为1984-11-2不知道怎么回事?
    若以这种方法showDate(new Date(<%=u.getBirthday().getYear()%>,<%=u.getBirthday().getMonth()%>,<%=u.getBirthday().getDay()%>))
    显示又为1985月不显示,日始终为2
      

  6.   

    js是弱类型语言需要类型转换*1转换为int在减去1,否则当string处理连接了1字符串,不好意思写完没测试
    <%=u.getBirthday().getMonth()%>*1-1
      

  7.   

    getDay改为getDate()就行了,这次测试了呵呵,睡觉了明天还要上班.
    System.out.println(new Date().getDate());
    输出28
    getDay()已经废弃了
      

  8.   

    非常感谢不过<%=u.getBirthday().getMonth()%>*1+1就对了