当日期有默认值时,My97 DatePicker日期控件实现日期文本输入框必填而无需验证控件支持

在开发的时候发现的小细节,之前用validform验证日期输入框必填,后来发现满足以下条件可实现必填了,条件如下:

1、打开页面时日期有默认值。

my97 datepicker里没有找到默认值显示功能,我写了2个公用函数来实现:

/*获取指定日期,返回指定格式如2012-12-01

*days-为0标示获取当前时间,负值(如-1)为当前时间前一天的年月日,正值反之

*time-指定时间(如2015-3-5)配合days(如-100)表示2015-3-5前100天的年月日

*has_hms-表示是否包含时分秒,默认无

/

function global_tool_getdate(days,time,has_hms){
    var newdate;
    if(days==0){
        var now=new Date();
        var y=now.getFullYear();
        var m=now.getMonth()+1;
        m=(m<10?"0"+m:m);
        var d=now.getDate();
        d=(d<10?"0"+d:d);
        if(has_hms){
            var h=now.getHours();
            h=(h<10?"0"+h:h);
            var min=now.getMinutes();
            min=(min<10?"0"+min:min);
            var s=now.getSeconds();
            s=(s<10?"0"+s:s);
            newdate=y+"-"+m+"-"+d+" "+h+":"+min+":"+s;
        }else{
            newdate=y+"-"+m+"-"+d;
        }
        
    }else{
        var starttime;
        if(time){
            if(has_hms){
                var timearr=time.split(" ");
                var time_h=timearr[0].split("-"),time_e=timearr[1].split(":");
                starttime=new Date(parseInt(time_h[0]),parseInt(time_h[1])-1,parseInt(time_h[2]),parseInt(time_e[0]),parseInt(time_e[1]),parseInt(time_e[2])).getTime();
            }else{
                var timearr=time.split("-");
                starttime=new Date(parseInt(timearr[0]),parseInt(timearr[1])-1,parseInt(timearr[2])).getTime();
            }
        }else{
            starttime=new Date().getTime();
        }
        var old=new Date(starttime+24*60*60*1000*days);
        var old_y=old.getFullYear();
        var old_m=old.getMonth()+1;
            old_m=(old_m<10?"0"+old_m:old_m);
        var old_d=old.getDate();
            old_d=(old_d<10?"0"+old_d:old_d);
        if(has_hms){
            var old_h=old.getHours();
            old_h=(old_h<10?"0"+old_h:old_h);
            var old_min=old.getMinutes();
            old_min=(old_min<10?"0"+old_min:old_min);
            var old_s=old.getSeconds();
            old_s=(old_s<10?"0"+old_s:old_s);
            newdate=old_y+"-"+old_m+"-"+old_d+" "+old_h+":"+old_min+":"+old_s;
        }else{
            newdate=old_y+"-"+old_m+"-"+old_d;
        }
        
    }
    return newdate;
}
/*获取指定年月,返回指定格式如2012-12

*months-为0表示当前年月,负值(如-13)为当前前13个月表示的年月,正值反之

*/

function global_tool_getyearmonth(months){
    var newdate;
    var now=new Date();
    var y=now.getFullYear();
    var m=now.getMonth();
    if(months==0){
        m=m+1;
        m=(m<10?"0"+m:m);
        newdate=y+"-"+m;
    }else{
        m=m+months;
        var newtime=new Date(y,m);
        var new_y=newtime.getFullYear();
        var new_m=newtime.getMonth()+1;
        new_m=(new_m<10?"0"+new_m:new_m);
        newdate=new_y+"-"+new_m;
    }
    return newdate;
}

$("#overduedetail_ordermonth").val(global_tool_getdate(-1));//赋值即可

2、把日期弹窗的清空按钮隐藏。

在onclick的wdatepicker的参数里增加属性isShowClear:false实现影藏清空按钮

逾期分析日期:


3、文本输入框不可编辑。

给inputy元素增加属性readonly="readonly"即可

你可能感兴趣的:(jquery插件)