扩充EXT时间控件,可以选择到时分秒 - Web前端当前位置:& &&&扩充EXT时间控件,可以选择到时分秒扩充EXT时间控件,可以选择到时分秒&&网友分享于:&&浏览:173次扩展EXT时间控件,可以选择到时分秒
Ext.ns('Ext.ux.form');
Ext.ux.form.TimePickerField=function(config) {
Ext.ux.form.TimePickerField.superclass.constructor.call(this, config);
Ext.extend(Ext.ux.form.TimePickerField, Ext.form.Field, {
defaultAutoCreate: {tag: 'div'},
cls: 'x-form-timepickerfield',
hoursSpinner: null,
minutesSpinner: null,
secondsSpinner: null,
spinnerCfg: {
spinnerFixBoundries: function(value){
if(value&this.field.minValue) {
value=this.field.maxV
if(value&this.field.maxValue) {
value=this.field.minV
return this.fixPrecision(value);
onRender: function(ct, position){
Ext.ux.form.TimePickerField.superclass.onRender.call(this, ct, position);
this.rendered=
this.date=new Date();
var values={};
if(this.value) {
values=this._valueSplit(this.value);
this.date.setHours(values.h);
this.date.setMinutes(values.m);
this.date.setSeconds(values.s);
delete this.
values={h:this.date.getHours(), m:this.date.getMinutes(), s:this.date.getSeconds()};
var spinnerWrap=Ext.DomHelper.append(this.el, {tag: 'div'});
var cfg=Ext.apply({}, this.spinnerCfg, {
renderTo: spinnerWrap,
readOnly: this.readOnly,
disabled: this.disabled,
listeners: {
fn: this.onSpinnerChange,
scope: this
fn: this.onSpinnerChange,
scope: this
afterrender: {
fn: function(spinner) {
spinner.wrap.applyStyles('float: left');
single: true
this.hoursSpinner=new Ext.ux.form.SpinnerField(
Ext.apply({}, cfg, {
minValue: 0,
maxValue: 23,
cls: 'first',
value: values.h
this.minutesSpinner=new Ext.ux.form.SpinnerField(
Ext.apply({}, cfg, {
minValue: 0,
maxValue: 59,
value: values.m
this.secondsSpinner=new Ext.ux.form.SpinnerField(
Ext.apply({}, cfg, {
minValue: 0,
maxValue: 59,
value: values.s
Ext.DomHelper.append(spinnerWrap, {tag: 'div', cls: 'x-form-clear-left'});
this.rendered=
_valueSplit: function(v) {
var split=v.split(':');
h: split.length&0 ? split[0] : 0,
m: split.length&1 ? split[1] : 0,
s: split.length&2 ? split[2] : 0
onSpinnerChange: function() {
if(!this.rendered) {
this.fireEvent('change', this, this.getRawValue());
disable: function() {
Ext.ux.form.TimePickerField.superclass.disable.call(this);
this.hoursSpinner.disable();
this.minutesSpinner.disable();
this.secondsSpinner.disable();
enable: function() {
Ext.ux.form.TimePickerField.superclass.enable.call(this);
this.hoursSpinner.enable();
this.minutesSpinner.enable();
this.secondsSpinner.enable();
setReadOnly: function(r) {
Ext.ux.form.TimePickerField.superclass.setReadOnly.call(this, r);
this.hoursSpinner.setReadOnly(r);
this.minutesSpinner.setReadOnly(r);
this.secondsSpinner.setReadOnly(r);
clearInvalid: function() {
Ext.ux.form.TimePickerField.superclass.clearInvalid.call(this);
this.hoursSpinner.clearInvalid();
this.minutesSpinner.clearInvalid();
this.secondsSpinner.clearInvalid();
getRawValue: function() {
if(!this.hoursSpinner){
this.date=new Date();
return {h:this.date.getHours(), m:this.date.getMinutes(), s:this.date.getSeconds()};
h: this.hoursSpinner.getValue(),
m: this.minutesSpinner.getValue(),
s: this.secondsSpinner.getValue()
setRawValue: function(v) {
this.hoursSpinner.setValue(v.h);
this.minutesSpinner.setValue(v.m);
this.secondsSpinner.setValue(v.s);
isValid: function(preventMark) {
return this.hoursSpinner.isValid(preventMark) &&
this.minutesSpinner.isValid(preventMark) &&
this.secondsSpinner.isValid(preventMark);
validate: function() {
return this.hoursSpinner.validate() &&
this.minutesSpinner.validate() &&
this.secondsSpinner.validate();
getValue: function() {
var v=this.getRawValue();
return String.leftPad(v.h, 2, '0')+':'+
String.leftPad(v.m, 2, '0')+':'+
String.leftPad(v.s, 2, '0');
setValue: function(value) {
if(!this.rendered) {
this.value=
value=this._valueSplit(value);
this.setRawValue(value);
this.validate();
Ext.form.TimePickerField=Ext.ux.form.TimePickerF
Ext.reg('timepickerfield', Ext.form.TimePickerField);
Ext.ns('Ext.ux.form');
Ext.DateTimePicker = Ext.extend(Ext.DatePicker, {
timeFormat:'g:i:s A',
timeLabel:'时间',
timeWidth:100,
initComponent:function() {
Ext.DateTimePicker.superclass.initComponent.call(this);
this.id = Ext.id();
onRender: function(container,position){
Ext.DateTimePicker.superclass.onRender.apply(this,arguments);
var table = Ext.get(Ext.DomQuery.selectNode('table tbody',container.dom));
var tfEl = Ext.DomHelper.insertBefore(table.last(),{tag:'tr',
children:[{tag:'td',cls:'x-date-bottom',html:this.timeLabel,style:'width:30;'},{tag:'td',cls:'x-date-bottom ux-timefield', colspan:'2'}]},true);
this.tf.render(table.child('td.ux-timefield'));
var p=this.getEl().parent('div.x-layer');
p.setStyle("height",p.getHeight()+31);
setValue : function(value){
var old = this.
if (!this.tf){
this.tf = new Ext.ux.form.TimePickerField();
this.tf.ownerCt =
this.value = this.getDateTime(value);
getDateTime: function(value){
if (this.tf){
var dt = new Date();
var timeval = this.tf.getValue();
value = Date.parseDate(value.format(this.dateFormat) + ' ' +this.tf.getValue(),this.format);
selectToday : function(){
if(this.todayBtn && !this.todayBtn.disabled){
this.value=this.getDateTime(new Date());
this.fireEvent("select", this, this.value);
Ext.reg('datetimepickerfield', Ext.DateTimePicker);
if (parseInt(Ext.version.substr(0, 1), 10) & 2) {
Ext.menu.DateTimeItem = Ext.DateTimeP
Ext.override(Ext.menu.DateMenu,{
initComponent: function(){
this.on('beforeshow', this.onBeforeShow, this);
if(this.strict = (Ext.isIE7 && Ext.isStrict)){
this.on('show', this.onShow, this, {single: true, delay: 20});
Ext.apply(this, {
plain: true,
showSeparator: false,
items: this.picker = new Ext.DatePicker(Ext.apply({
internalRender: this.strict || !Ext.isIE,
ctCls: 'x-menu-date-item'
}, this.initialConfig))
Ext.menu.DateMenu.superclass.initComponent.call(this);
this.relayEvents(this.picker, ["select"]);
this.on('select', this.menuHide, this);
if(this.handler){
this.on('select', this.handler, this.scope || this);
Ext.menu.DateTimeItem = function(config){
Ext.menu.DateTimeItem.superclass.constructor.call(this, new Ext.DateTimePicker(config), config);
this.picker =
this.addEvents('select');
this.picker.on("render", function(picker){
picker.getEl().swallowEvent("click");
picker.container.addClass("x-menu-date-item");
this.picker.on("select", this.onSelect, this);
Ext.extend(Ext.menu.DateTimeItem, Ext.menu.DateMenu, {
onSelect : function(picker, date){
this.fireEvent("select", this, date, picker);
Ext.menu.DateTimeItem.superclass.handleClick.call(this);
Ext.menu.DateTimeMenu = function(config){
Ext.menu.DateTimeMenu.superclass.constructor.call(this, config);
this.plain =
var di = new Ext.menu.DateTimeItem(config);
this.add(di);
this.picker =
this.relayEvents(di, ["select"]);
this.on('beforeshow', function(){
if(this.picker){
this.picker.hideMonthPicker(true);
Ext.extend(Ext.menu.DateTimeMenu, Ext.menu.Menu, {
cls:'x-date-menu',
beforeDestroy : function() {
this.picker.destroy();
hide : function(deep){
if (this.picker.tf.innerList){
if ((Ext.EventObject.within(this.picker.tf.innerList)) || (Ext.get(Ext.EventObject.getTarget())==this.picker.tf.innerList))
if(this.el && this.isVisible()){
this.fireEvent("beforehide", this);
if(this.activeItem){
this.activeItem.deactivate();
this.activeItem =
this.el.hide();
this.hidden =
this.fireEvent("hide", this);
if(deep === true && this.parentMenu){
this.parentMenu.hide(true);
Ext.ux.form.DateTimeField = Ext.extend(Ext.form.DateField, {
dateFormat: 'Y-m-d'
,timeFormat: 'H:i:s'
,defaultAutoCreate : {tag: "input", type: "text", size: "20", autocomplete: "off"}
,initComponent:function() {
Ext.ux.form.DateTimeField.superclass.initComponent.call(this);
this.format = this.dateFormat + ' ' + this.timeF
this.afterMethod('afterRender',function(){
this.getEl().applyStyles('top:0');
,getValue : function(){
return this.parseDate(Ext.form.DateField.superclass.getValue.call(this)) || '';
,onTriggerClick : function(){
if(this.disabled){
if(this.menu == null){
this.menu = new Ext.menu.DateTimeMenu();
Ext.apply(this.menu.picker,
minDate : this.minValue,
maxDate : this.maxValue,
disabledDatesRE : this.ddMatch,
disabledDatesText : this.disabledDatesText,
disabledDays : this.disabledDays,
disabledDaysText : this.disabledDaysText,
format : this.format,
timeFormat: this.timeFormat,
dateFormat: this.dateFormat,
showToday : this.showToday,
minText : String.format(this.minText, this.formatDate(this.minValue)),
maxText : String.format(this.maxText, this.formatDate(this.maxValue))
if (this.menuEvents) {
this.menuEvents('on');
this.menu.on(Ext.apply({}, this.menuListeners, {
scope:this
this.menu.picker.setValue(this.getValue() || new Date());
this.menu.show(this.el, "tl-bl?");
Ext.reg('datetimefield', Ext.ux.form.DateTimeField);
看了,lz 的文章突然想起以前的一个小问题不知lz有兴趣没,我用日期格式:如2010-01 这样格式,但是我在选择的时候就必须先点击01月,再点击这月的某一天,才能格式化成:2010-01.能不能直接点击月份,而不用去点击这月的某一天呢???我们以前是直接,进去后就自动展开月份面板 然后禁止页面面板收缩回去~虽然有点土 但是没画多少时间就弄好了& 呵呵。
时间设置成默认值时,选择器中的时间没有变,还是打开时的时间,有没有设置的方法?直接setValue 呗 先格式化 然后数值传值
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有九阴绝学如何扩展技能栏_九阴绝学攻略 - 07073九阴绝学网页游戏官网
> 九阴绝学如何扩展技能栏
九阴绝学如何扩展技能栏
用手机扫描
问:如何扩展技能栏?
答:目前九阴绝学在原有技能栏的基础上,可以消耗快捷栏扩充符进行最多5格的技能栏扩展。快捷栏扩充符目前可以通过击杀跨服BOSS或者商城购买获得。
扩充第一格:消耗扩充符10个;
扩充第二格:消耗扩充符20个;
扩充第三格:消耗扩充符50个;
扩充第四格:消耗扩充符100个;
扩充第五格:消耗扩充符200个。
责任编辑:娃娃头
拯救小编,无私分享:
留档首次封测
游戏类型:即时 科幻
留档首次压测
游戏类型:即时 奇幻
游戏类型:回合 动漫
游戏类型:回合 体育
游戏类型:即时 神话
游戏类型:即时 武侠
游戏类型:即时 动漫
游戏类型:即时 奇幻
留档首次压测
游戏类型:即时 奇幻
留档二次压测
游戏类型:即时 奇幻