http://hiphotos.baidu.com/joelioa/pic/item/31ba8b1e7a9ff713413417ee.jpg目的:实现上面图片的样式。要点:输入框禁止输入,单点击输入框的时候弹出右边的表格(默认为不显示),
左边按钮可以控制向前一年,右边按钮控制向后一年,中间的年也可以自己选择,默认显示当前的年份
下面12个按钮为12月份,当前的月份用红色字,
单点击月份的时候,输入框变成 YYYY年MM月。其他:点击完之后邮编表格消失,输入框变成 YYYY年MM月。或者在任意地方点击使表格消失。
网上类似的例子也挺多,但要求不需要天,
省去的天数的计算,求高手给解决。
万分感谢。

解决方案 »

  1.   

    这个和你要求的一样 http://davidblog.blogdriver.com/davidblog/427249.html
      

  2.   

    .js文件,命名为Mymodify.jsfunction show_cele_date(eP,d_start,d_end,t_object)
    {
    window.cele_date.style.display="";
    window.cele_date.style.zIndex=99
    var s,cur_d
    var eT = eP.offsetTop;  
    var eH = eP.offsetHeight+eT;  
    var dH = window.cele_date.style.pixelHeight;  
    var sT = document.body.scrollTop; 
    var sL = document.body.scrollLeft; 
    event.cancelBubble=true;
    window.cele_date.style.posLeft = event.clientX-event.offsetX+sL-5;  
    window.cele_date.style.posTop = event.clientY-event.offsetY+eH+sT-5;
    if (window.cele_date.style.posLeft+window.cele_date.clientWidth>document.body.clientWidth) window.cele_date.style.posLeft+=eP.offsetWidth-window.cele_date.clientWidth;
    if (d_start!=""){
        if (d_start=="today"){
            date_start=new Date(today.getYear(),today.getMonth(),today.getDate());
        }else{
            s=d_start.split(separator);
            date_start=new Date(s[0],s[1]-1,s[2]);
        }
    }else{
        date_start=new Date(1900,1,1);
    }if (d_end!=""){
        s=d_end.split(separator);
        date_end=new Date(s[0],s[1]-1,s[2]);
    }else{
        date_end=new Date(3000,1,1);
    }g_object=t_objectcur_d=new Date()
    set_cele_date(cur_d.getYear(),cur_d.getMonth()+1);
    window.cele_date.style.display="block";window.cele_date.focus();}
    然后.jsp引用
    <script   language="JavaScript"   src="D:/。Mymodify.js"></script>//您放置的相对路径
    <td align="left" height="20" width="330" colspan="1"><font color=blue>开始日期</font>&nbsp;<input type="text"   name="datefrom"   value=""   onfocus="show_cele_date(datefrom,'','',datefrom)"></td> 
      

  3.   

    个人认为还是自己动手为好,这里给几点建议:
    1、输入框禁止输入可以将input的READONLY
    2、当前的年月日可以通过以下代码获取:
    var obj = new Date();
    var month = obj.getMonth() + 1;            // 获取月份。
    var year = d.getYear();                         // 获取年份。
      

  4.   

    1楼的倒是能用,只是不是我想要的结果,
    htc代码太复杂,看不明白,
    js就好了,
    2楼哥们的回答不行,运行就报错:window.cele_date.style.display="";为空或则不是对象。
    3楼大哥的建议接受,可问题就是写不出来。
      

  5.   

    1楼的答案在firefox下不能使用。
      

  6.   

    又要在 FF下使用 window.createPopup 是用不上了 
    有时间再看吧 不行就用俩 下拉列表
      

  7.   

    那你上面这个是从哪看到的   copy  过来不就行了吗?