BootStrap中Datepicker控件带中文的js文件
bootstrap-datepicker是一个非常优秀的时间选择插件,默认是英文显示日期的。本文给大家介绍bootstrapdatepicker带中文的js文件。
//用之前引用bootstrap的jsif($(".datepicker").length>0){ $(".datepicker").datepicker({ language:"zh-CN", autoclose:true,//选中之后自动隐藏日期选择框 clearBtn:true,//清除按钮 todayBtn:true,//今日按钮 format:"yyyy-mm-dd"//日期格式 }); }
以下是datepicker的css文件和js代码
/*! *DatepickerforBootstrap * *Copyright2012StefanPetre *LicensedundertheApacheLicensev2.0 *http://www.apache.org/licenses/LICENSE-2.0 * */ .datepicker{ top:0; left:0; padding:4px; margin-top:1px; -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px; /*.dow{ border-top:1pxsolid#ddd!important; }*/ } .datepicker:before{ content:''; display:inline-block; border-left:7pxsolidtransparent; border-right:7pxsolidtransparent; border-bottom:7pxsolid#ccc; border-bottom-color:rgba(0,0,0,0.2); position:absolute; top:-7px; left:6px; } .datepicker:after{ content:''; display:inline-block; border-left:6pxsolidtransparent; border-right:6pxsolidtransparent; border-bottom:6pxsolid#ffffff; position:absolute; top:-6px; left:7px; } .datepicker>div{ display:none; } .datepickertable{ width:100%; margin:0; } .datepickertd, .datepickerth{ text-align:center; width:20px; height:20px; -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px; } .datepickertd.day:hover{ background:#eeeeee; cursor:pointer; } .datepickertd.day.disabled{ color:#eeeeee; } .datepickertd.old, .datepickertd.new{ color:#999999; } .datepickertd.active, .datepickertd.active:hover{ color:#ffffff; background-color:#006dcc; background-image:-moz-linear-gradient(top,#0088cc,#0044cc); background-image:-webkit-gradient(linear,00,0100%,from(#0088cc),to(#0044cc)); background-image:-webkit-linear-gradient(top,#0088cc,#0044cc); background-image:-o-linear-gradient(top,#0088cc,#0044cc); background-image:linear-gradient(tobottom,#0088cc,#0044cc); background-repeat:repeat-x; filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0); border-color:#0044cc#0044cc#002a80; border-color:rgba(0,0,0,0.1)rgba(0,0,0,0.1)rgba(0,0,0,0.25); *background-color:#0044cc; /*DarkenIE7buttonsbydefaultsotheystandoutmoregiventheywon'thaveborders*/ filter:progid:DXImageTransform.Microsoft.gradient(enabled=false); color:#fff; text-shadow:0-1px0rgba(0,0,0,0.25); } .datepickertd.active:hover, .datepickertd.active:hover:hover, .datepickertd.active:focus, .datepickertd.active:hover:focus, .datepickertd.active:active, .datepickertd.active:hover:active, .datepickertd.active.active, .datepickertd.active:hover.active, .datepickertd.active.disabled, .datepickertd.active:hover.disabled, .datepickertd.active[disabled], .datepickertd.active:hover[disabled]{ color:#ffffff; background-color:#0044cc; *background-color:#003bb3; } .datepickertd.active:active, .datepickertd.active:hover:active, .datepickertd.active.active, .datepickertd.active:hover.active{ background-color:#003399\9; } .datepickertdspan{ display:block; width:47px; height:54px; line-height:54px; float:left; margin:2px; cursor:pointer; -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px; } .datepickertdspan:hover{ background:#eeeeee; } .datepickertdspan.active{ color:#ffffff; background-color:#006dcc; background-image:-moz-linear-gradient(top,#0088cc,#0044cc); background-image:-webkit-gradient(linear,00,0100%,from(#0088cc),to(#0044cc)); background-image:-webkit-linear-gradient(top,#0088cc,#0044cc); background-image:-o-linear-gradient(top,#0088cc,#0044cc); background-image:linear-gradient(tobottom,#0088cc,#0044cc); background-repeat:repeat-x; filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0044cc',GradientType=0); border-color:#0044cc#0044cc#002a80; border-color:rgba(0,0,0,0.1)rgba(0,0,0,0.1)rgba(0,0,0,0.25); *background-color:#0044cc; /*DarkenIE7buttonsbydefaultsotheystandoutmoregiventheywon'thaveborders*/ filter:progid:DXImageTransform.Microsoft.gradient(enabled=false); color:#fff; text-shadow:0-1px0rgba(0,0,0,0.25); } .datepickertdspan.active:hover, .datepickertdspan.active:focus, .datepickertdspan.active:active, .datepickertdspan.active.active, .datepickertdspan.active.disabled, .datepickertdspan.active[disabled]{ color:#ffffff; background-color:#0044cc; *background-color:#003bb3; } .datepickertdspan.active:active, .datepickertdspan.active.active{ background-color:#003399\9; } .datepickertdspan.old{ color:#999999; } .datepickerth.switch{ width:145px; } .datepickerth.next, .datepickerth.prev{ font-size:21px; } .datepickertheadtr:first-childth{ cursor:pointer; } .datepickertheadtr:first-childth:hover{ background:#eeeeee; } .input-append.date.add-oni, .input-prepend.date.add-oni{ display:block; cursor:pointer; width:16px; height:16px; } /*========================================================= *bootstrap-datepicker.js *http://www.eyecon.ro/bootstrap-datepicker *========================================================= *Copyright2012StefanPetre * *LicensedundertheApacheLicense,Version2.0(the"License"); *youmaynotusethisfileexceptincompliancewiththeLicense. *YoumayobtainacopyoftheLicenseat * *http://www.apache.org/licenses/LICENSE-2.0 * *Unlessrequiredbyapplicablelaworagreedtoinwriting,software *distributedundertheLicenseisdistributedonan"ASIS"BASIS, *WITHOUTWARRANTIESORCONDITIONSOFANYKIND,eitherexpressorimplied. *SeetheLicenseforthespecificlanguagegoverningpermissionsand *limitationsundertheLicense. *=========================================================*/ !function($){ //Pickerobject varDatepicker=function(element,options){ this.element=$(element); this.format=DPGlobal.parseFormat(options.format||this.element.data('date-format')||'yyyy-mm-dd'); this.picker=$(DPGlobal.template) .appendTo('body') .on({ click:$.proxy(this.click,this)//, //mousedown:$.proxy(this.mousedown,this) }); this.isInput=this.element.is('input'); this.component=this.element.is('.date')?this.element.find('.add-on'):false; if(this.isInput){ this.element.on({ focus:$.proxy(this.show,this), //blur:$.proxy(this.hide,this), keyup:$.proxy(this.update,this) }); }else{ if(this.component){ this.component.on('click',$.proxy(this.show,this)); }else{ this.element.on('click',$.proxy(this.show,this)); } } this.minViewMode=options.minViewMode||this.element.data('date-minviewmode')||0; if(typeofthis.minViewMode==='string'){ switch(this.minViewMode){ case'months': this.minViewMode=1; break; case'years': this.minViewMode=2; break; default: this.minViewMode=0; break; } } this.viewMode=options.viewMode||this.element.data('date-viewmode')||0; if(typeofthis.viewMode==='string'){ switch(this.viewMode){ case'months': this.viewMode=1; break; case'years': this.viewMode=2; break; default: this.viewMode=0; break; } } this.startViewMode=this.viewMode; this.weekStart=options.weekStart||this.element.data('date-weekstart')||0; this.weekEnd=this.weekStart===0?6:this.weekStart-1; this.onRender=options.onRender; this.fillDow(); this.fillMonths(); this.update(); this.showMode(); }; Datepicker.prototype={ constructor:Datepicker, show:function(e){ this.picker.show(); this.height=this.component?this.component.outerHeight():this.element.outerHeight(); this.place(); $(window).on('resize',$.proxy(this.place,this)); if(e){ e.stopPropagation(); e.preventDefault(); } if(!this.isInput){ } varthat=this; $(document).on('mousedown',function(ev){ if($(ev.target).closest('.datepicker').length==0){ that.hide(); } }); this.element.trigger({ type:'show', date:this.date }); }, hide:function(){ this.picker.hide(); $(window).off('resize',this.place); this.viewMode=this.startViewMode; this.showMode(); if(!this.isInput){ $(document).off('mousedown',this.hide); } //this.set(); this.element.trigger({ type:'hide', date:this.date }); }, set:function(){ varformated=DPGlobal.formatDate(this.date,this.format); if(!this.isInput){ if(this.component){ this.element.find('input').prop('value',formated); } this.element.data('date',formated); }else{ this.element.prop('value',formated); } }, setValue:function(newDate){ if(typeofnewDate==='string'){ this.date=DPGlobal.parseDate(newDate,this.format); }else{ this.date=newDate(newDate); } this.set(); this.viewDate=newDate(this.date.getFullYear(),this.date.getMonth(),1,0,0,0,0); this.fill(); }, place:function(){ varoffset=this.component?this.component.offset():this.element.offset(); this.picker.css({ top:offset.top+this.height, left:offset.left }); }, update:function(newDate){ this.date=DPGlobal.parseDate( typeofnewDate==='string'?newDate:(this.isInput?this.element.prop('value'):this.element.data('date')), this.format ); this.viewDate=newDate(this.date.getFullYear(),this.date.getMonth(),1,0,0,0,0); this.fill(); }, fillDow:function(){ vardowCnt=this.weekStart; varhtml='<tr>'; while(dowCnt<this.weekStart+7){ html+='<thclass="dow">'+DPGlobal.dates.daysMin[(dowCnt++)%7]+'</th>'; } html+='</tr>'; this.picker.find('.datepicker-daysthead').append(html); }, fillMonths:function(){ varhtml=''; vari=0 while(i<12){ html+='<spanclass="month">'+DPGlobal.dates.monthsShort[i++]+'</span>'; } this.picker.find('.datepicker-monthstd').append(html); }, fill:function(){ vard=newDate(this.viewDate), year=d.getFullYear(), month=d.getMonth(), currentDate=this.date.valueOf(); this.picker.find('.datepicker-daysth:eq(1)') .text(DPGlobal.dates.months[month]+''+year); varprevMonth=newDate(year,month-1,28,0,0,0,0), day=DPGlobal.getDaysInMonth(prevMonth.getFullYear(),prevMonth.getMonth()); prevMonth.setDate(day); prevMonth.setDate(day-(prevMonth.getDay()-this.weekStart+7)%7); varnextMonth=newDate(prevMonth); nextMonth.setDate(nextMonth.getDate()+42); nextMonth=nextMonth.valueOf(); varhtml=[]; varclsName, prevY, prevM; while(prevMonth.valueOf()<nextMonth){ if(prevMonth.getDay()===this.weekStart){ html.push('<tr>'); } clsName=this.onRender(prevMonth); prevY=prevMonth.getFullYear(); prevM=prevMonth.getMonth(); if((prevM<month&&prevY===year)||prevY<year){ clsName+='old'; }elseif((prevM>month&&prevY===year)||prevY>year){ clsName+='new'; } if(prevMonth.valueOf()===currentDate){ clsName+='active'; } html.push('<tdclass="day'+clsName+'">'+prevMonth.getDate()+'</td>'); if(prevMonth.getDay()===this.weekEnd){ html.push('</tr>'); } prevMonth.setDate(prevMonth.getDate()+1); } this.picker.find('.datepicker-daystbody').empty().append(html.join('')); varcurrentYear=this.date.getFullYear(); varmonths=this.picker.find('.datepicker-months') .find('th:eq(1)') .text(year) .end() .find('span').removeClass('active'); if(currentYear===year){ months.eq(this.date.getMonth()).addClass('active'); } html=''; year=parseInt(year/10,10)*10; varyearCont=this.picker.find('.datepicker-years') .find('th:eq(1)') .text(year+'-'+(year+9)) .end() .find('td'); year-=1; for(vari=-1;i<11;i++){ html+='<spanclass="year'+(i===-1||i===10?'old':'')+(currentYear===year?'active':'')+'">'+year+'</span>'; year+=1; } yearCont.html(html); }, click:function(e){ e.stopPropagation(); e.preventDefault(); vartarget=$(e.target).closest('span,td,th'); if(target.length===1){ switch(target[0].nodeName.toLowerCase()){ case'th': switch(target[0].className){ case'switch': this.showMode(1); break; case'prev': case'next': this.viewDate['set'+DPGlobal.modes[this.viewMode].navFnc].call( this.viewDate, this.viewDate['get'+DPGlobal.modes[this.viewMode].navFnc].call(this.viewDate)+ DPGlobal.modes[this.viewMode].navStep*(target[0].className==='prev'?-1:1) ); this.fill(); this.set(); break; } break; case'span': if(target.is('.month')){ varmonth=target.parent().find('span').index(target); this.viewDate.setMonth(month); }else{ varyear=parseInt(target.text(),10)||0; this.viewDate.setFullYear(year); } if(this.viewMode!==0){ this.date=newDate(this.viewDate); this.element.trigger({ type:'changeDate', date:this.date, viewMode:DPGlobal.modes[this.viewMode].clsName }); } this.showMode(-1); this.fill(); this.set(); break; case'td': if(target.is('.day')&&!target.is('.disabled')){ varday=parseInt(target.text(),10)||1; varmonth=this.viewDate.getMonth(); if(target.is('.old')){ month-=1; }elseif(target.is('.new')){ month+=1; } varyear=this.viewDate.getFullYear(); this.date=newDate(year,month,day,0,0,0,0); this.viewDate=newDate(year,month,Math.min(28,day),0,0,0,0); this.fill(); this.set(); this.element.trigger({ type:'changeDate', date:this.date, viewMode:DPGlobal.modes[this.viewMode].clsName }); } break; } } }, mousedown:function(e){ e.stopPropagation(); e.preventDefault(); }, showMode:function(dir){ if(dir){ this.viewMode=Math.max(this.minViewMode,Math.min(2,this.viewMode+dir)); } this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).show(); } }; $.fn.datepicker=function(option,val){ returnthis.each(function(){ var$this=$(this), data=$this.data('datepicker'), options=typeofoption==='object'&&option; if(!data){ $this.data('datepicker',(data=newDatepicker(this,$.extend({},$.fn.datepicker.defaults,options)))); } if(typeofoption==='string')data[option](val); }); }; $.fn.datepicker.defaults={ onRender:function(date){ return''; } }; $.fn.datepicker.Constructor=Datepicker; varDPGlobal={ modes:[ { clsName:'days', navFnc:'Month', navStep:1 }, { clsName:'months', navFnc:'FullYear', navStep:1 }, { clsName:'years', navFnc:'FullYear', navStep:10 }], dates:{ days:["周日","周一","周二","周三","周四","周五","周六","周日"], daysShort:["日","一","二","三","四","五","六","七"], daysMin:["日","一","二","三","四","五","六","七"], months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"], monthsShort:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"], }, isLeapYear:function(year){ return(((year%4===0)&&(year%100!==0))||(year%400===0)) }, getDaysInMonth:function(year,month){ return[31,(DPGlobal.isLeapYear(year)?29:28),31,30,31,30,31,31,30,31,30,31][month] }, parseFormat:function(format){ varseparator=format.match(/[.\/\-\s].*?/), parts=format.split(/\W+/); if(!separator||!parts||parts.length===0){ thrownewError("Invaliddateformat."); } return{separator:separator,parts:parts}; }, parseDate:function(date,format){ varparts=date.split(format.separator), date=newDate(), val; date.setHours(0); date.setMinutes(0); date.setSeconds(0); date.setMilliseconds(0); if(parts.length===format.parts.length){ varyear=date.getFullYear(),day=date.getDate(),month=date.getMonth(); for(vari=0,cnt=format.parts.length;i<cnt;i++){ val=parseInt(parts[i],10)||1; switch(format.parts[i]){ case'dd': case'd': day=val; date.setDate(val); break; case'mm': case'm': month=val-1; date.setMonth(val-1); break; case'yy': year=2000+val; date.setFullYear(2000+val); break; case'yyyy': year=val; date.setFullYear(val); break; } } date=newDate(year,month,day,0,0,0); } returndate; }, formatDate:function(date,format){ varval={ d:date.getDate(), m:date.getMonth()+1, yy:date.getFullYear().toString().substring(2), yyyy:date.getFullYear() }; val.dd=(val.d<10?'0':'')+val.d; val.mm=(val.m<10?'0':'')+val.m; vardate=[]; for(vari=0,cnt=format.parts.length;i<cnt;i++){ date.push(val[format.parts[i]]); } returndate.join(format.separator); }, headTemplate:'<thead>'+ '<tr>'+ '<thclass="prev">‹</th>'+ '<thcolspan="5"class="switch"></th>'+ '<thclass="next">›</th>'+ '</tr>'+ '</thead>', contTemplate:'<tbody><tr><tdcolspan="7"></td></tr></tbody>' }; DPGlobal.template='<divclass="datepickerdropdown-menu">'+ '<divclass="datepicker-days">'+ '<tableclass="table-condensed">'+ DPGlobal.headTemplate+ '<tbody></tbody>'+ '</table>'+ '</div>'+ '<divclass="datepicker-months">'+ '<tableclass="table-condensed">'+ DPGlobal.headTemplate+ DPGlobal.contTemplate+ '</table>'+ '</div>'+ '<divclass="datepicker-years">'+ '<tableclass="table-condensed">'+ DPGlobal.headTemplate+ DPGlobal.contTemplate+ '</table>'+ '</div>'+ '</div>'; }(window.jQuery);
以上所述是小编给大家介绍的BootStrap中Datepicker控件带中文的js文件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!