`

Extjs 日期控件扩展,只显示月份

js 
阅读更多
//Extjs 引用

var rq_formPanel = new Ext.FormPanel({
	border : false,
	hideLabel : true,
	autoWidth : true,
	height : 26,
	labelWidth : 35,
	style : {
		padding : '4 0 0 10'// 上 右 下 左
	},
	items : [{
		xtype : 'datefield',// 日期控件
		width : 145,
		validateOnBlur : true,
		fieldLabel : '月份',
		plugins : 'monthPickerPlugin',
		name : 'slsj_ks',
		format : 'Y-m',
		value : new Date()
	}]
});



monthPickerPlugin.js 插件js

Ext.ux.MonthPickerPlugin = function() {   
    var picker;   
    var oldDateDefaults;   
  
    this.init = function(pk) {   
        picker = pk;   
        picker.onTriggerClick = picker.onTriggerClick.createSequence(onClick);   
        picker.getValue = picker.getValue.createInterceptor(setDefaultMonthDay).createSequence(restoreDefaultMonthDay);   
        picker.beforeBlur = picker.beforeBlur.createInterceptor(setDefaultMonthDay).createSequence(restoreDefaultMonthDay);   
    };   
  
    function setDefaultMonthDay() {   
        oldDateDefaults = Date.defaults.d;   
        Date.defaults.d = 1;   
        return true;   
    }   
  
    function restoreDefaultMonthDay(ret) {   
        Date.defaults.d = oldDateDefaults;   
        return ret;   
    }   
  
    function onClick(e, el, opt) {   
        var p = picker.menu.picker;   
        p.activeDate = p.activeDate.getFirstDateOfMonth();   
        if (p.value) {   
            p.value = p.value.getFirstDateOfMonth();   
        }   
  
        p.showMonthPicker();   
           
        if (!p.disabled) {   
            p.monthPicker.stopFx();   
            p.monthPicker.show();   
   // if you want to click,you can the dblclick event change click  
            p.mun(p.monthPicker, 'click', p.onMonthClick, p);   
            p.mun(p.monthPicker, 'click', p.onMonthDblClick, p);   
            p.onMonthClick = p.onMonthClick.createSequence(pickerClick);   
            p.onMonthDblClick = p.onMonthDblClick.createSequence(pickerDblclick);   
            p.mon(p.monthPicker, 'click', p.onMonthClick, p);   
            p.mon(p.monthPicker, 'click', p.onMonthDblClick, p);   
        }   
    }   
  
    function pickerClick(e, t) {   
        var el = new Ext.Element(t);   
        if (el.is('button.x-date-mp-cancel')) {   
            picker.menu.hide();   
        } else if(el.is('button.x-date-mp-ok')) {   
            var p = picker.menu.picker;   
            p.setValue(p.activeDate);   
            p.fireEvent('select', p, p.value);   
        }   
    }   
  
    function pickerDblclick(e, t) {   
        var el = new Ext.Element(t);   
        if (el.parent()   
            && (el.parent().is('td.x-date-mp-month')   
            || el.parent().is('td.x-date-mp-year'))) {   
  
            var p = picker.menu.picker;   
            p.setValue(p.activeDate);   
            p.fireEvent('select', p, p.value);   
        }   
    }   
};   
  
Ext.preg('monthPickerPlugin', Ext.ux.MonthPickerPlugin);
  • 大小: 25.3 KB
分享到:
评论

相关推荐

    extjs扩展的月份控件

    同事写的extjs月份扩展控件,可以直接调用,用于只要求显示月份不显示日期的项目

    extjs3.0 中扩展的日期控件

    由于extjs3.0自己封装的时间不能够选择时分秒,给大家开发...虽然网上有ext2.0的日期扩展控件,但在3.0中不能用。公司现在项目正用了,因此我就对extjs3.0时间控件的扩展,实现了可选择时分秒功能。希望对大家有帮助。

    extjs扩展年度控件,EXTJS里的时间控件的年度重写

    因此,"年度控件的扩展"意味着我们需要对原有的时间控件进行功能增强,让用户只在年份之间进行选择,而不是具体的日期。这通常涉及到以下几个步骤: 1. **创建自定义组件**:首先,我们需要创建一个新的EXTJS组件,...

    Ext DateField控件 - 只选择年月

    开发者可能通过重写或者添加特定的配置,使得原本的DateField控件在弹出的日历选择器中只显示年和月,而隐藏或者禁用日的选择。这通常涉及到对控件的模板、事件监听器以及选择器逻辑的调整。 源码分析方面,`...

    Ext扩展dateField时间控件,可以选择年月日、年月、年、月

    然而,通过扩展,我们可以增加更多的选择选项,例如只选择年份、月份或者年月。 在标题和描述中提到的`Ext`扩展`dateField`时间控件,其主要目的是提供更灵活的日期选择体验。这可能涉及到以下关键功能: 1. **...

    extjs4.2选择两个月的日期控件

    "extjs4.2选择两个月的日期控件"是一个特定的需求,它允许用户方便地选取一个时间范围,具体到两个连续的月份。这种控件在处理涉及到月份范围的业务场景时非常有用,例如报表生成、预订系统或数据分析等。 EXTJS ...

    extjs6.2月份年份控件.rar

    在这个例子中,可能就是通过override方法,将原有的月份字段(monthfield)改造成了只显示年份的控件。 "使用说明.txt"文件很可能是包含了如何在项目中引入和使用这个自定义控件的详细步骤。通常,这样的说明会涵盖...

    EXTJS升级版时间控件

    这个“EXTJS升级版时间控件”是一个增强型的时间选择器,它扩展了EXTJS原有的日期字段(`Ext.form.DateField`)功能,增加了更多的选项来满足用户在日期选择上的需求。 该控件的核心功能是在原有的时间选择基础上,...

    ext4.2 日历日期控件,可以选择时分秒

    在使用EXTJS 4.2的"日历日期控件,可以选择时分秒"时,开发者需要注意合理配置控件属性,正确绑定数据源,并处理好用户交互事件。同时,由于EXTJS是一个重量级框架,需要一定的学习成本和性能考虑,合理优化代码以...

    ext6中年份选择控件亲测好用

    它不包含选择月份和日期的选项,仅仅让用户聚焦在选择一个特定的年份上,这在处理与年份相关的数据时非常有用,比如生日、成立年份等。EXT6.20版本对这个控件提供了完美的支持,意味着它在功能、性能以及兼容性方面...

    ext3.0-月份,年份选择框

    "月份,年份选择框"这个组件,可能是EXTJS 3.0中的一个日期选择组件的扩展,它允许用户以月份和年份为单位进行选择,常用于日历应用、预订系统或者需要处理时间跨度的任何应用。 这个组件可能包含以下功能: 1. **...

    Ext JS 4实现带week(星期)的日期选择控件(实战二)

    在本篇文章中,我们重点介绍了如何在使用Ext JS 4开发环境中实现一个带有星期显示功能的日期选择控件。Ext JS是一个流行的JavaScript框架,用于创建富互联网应用。它提供了大量的组件,可以用于构建用户界面。 首先...

    Hogaf.ExtNet3.UX:Extjs 5和ExtNet 3.0.0波斯语日期

    在ExtJS 5中,日期选择器和日期显示功能得到了进一步优化,支持多种国际日期格式,但对特定如波斯语的非拉丁语系日期支持则需要额外的扩展。 Hogaf.ExtNet3.UX项目则是针对Ext.NET 3.0.0框架的一个扩展,这个框架是...

    ext 可以选择小时分钟秒

    EXTJS 是一个强大的JavaScript 应用程序框架,用于构建富客户端Web应用。在EXTJS中,`Ext.DateField` 是一个...通过这种方式,开发者能够快速掌握如何在EXTJS应用中集成和使用可选择小时、分钟和秒的日期时间输入控件。

Global site tag (gtag.js) - Google Analytics