`
01jiangwei01
  • 浏览: 543047 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ext 日历框添加清空按钮

 
阅读更多

将下列代码复制到

<script type="text/javascript" src="${pageContext.request.contextPath}/jslib/ext/ext-all.js"></script>

下一行就好。

Ext.override(Ext.DatePicker, {
 clearText:'清空',
 // private
    onRender : function(container, position){
 
        var m = [
             '<table cellspacing="0">',
                '<tr><td class="x-date-left"><a href="#" title="', this.prevText ,'">&#160;</a></td><td class="x-date-middle" align="center"></td><td class="x-date-right"><a href="#" title="', this.nextText ,'">&#160;</a></td></tr>',
                '<tr><td colspan="3"><table class="x-date-inner" cellspacing="0"><thead><tr>'],
                dn = this.dayNames,
                i;
        for(i = 0; i < 7; i++){
            var d = this.startDay+i;
            if(d > 6){
                d = d-7;
            }
            m.push('<th><span>', dn[d].substr(0,1), '</span></th>');
        }
        m[m.length] = '</tr></thead><tbody><tr>';
        for(i = 0; i < 42; i++) {
            if(i % 7 === 0 && i !== 0){
                m[m.length] = '</tr><tr>';
            }
            m[m.length] = '<td><a href="#" hidefocus="on" class="x-date-date" tabIndex="1"><em><span></span></em></a></td>';
        }
        m.push('</tr></tbody></table></td></tr>',
          '<tr><td colspan="3" class="x-date-bottom" align="center">',
           '<table><tr><td class="x-date-today"></td><td class="x-date-clear"></td></tr></table>',
          '</td></tr>',
                this.showToday ? '<tr><td colspan="3" class="x-date-bottom" align="center"></td></tr>' : '',
                '</table><div class="x-date-mp"></div>');

        var el = document.createElement('div');
        el.className = 'x-date-picker';
        el.innerHTML = m.join('');

        container.dom.insertBefore(el, position);

        this.el = Ext.get(el);
        this.eventEl = Ext.get(el.firstChild);

        this.prevRepeater = new Ext.util.ClickRepeater(this.el.child('td.x-date-left a'), {
            handler: this.showPrevMonth,
            scope: this,
            preventDefault:true,
            stopDefault:true
        });

        this.nextRepeater = new Ext.util.ClickRepeater(this.el.child('td.x-date-right a'), {
            handler: this.showNextMonth,
            scope: this,
            preventDefault:true,
            stopDefault:true
        });

        this.monthPicker = this.el.down('div.x-date-mp');
        this.monthPicker.enableDisplayMode('block');

        this.keyNav = new Ext.KeyNav(this.eventEl, {
            'left' : function(e){
                if(e.ctrlKey){
                    this.showPrevMonth();
                }else{
                    this.update(this.activeDate.add('d', -1));
                }
            },

            'right' : function(e){
                if(e.ctrlKey){
                    this.showNextMonth();
                }else{
                    this.update(this.activeDate.add('d', 1));
                }
            },

            'up' : function(e){
                if(e.ctrlKey){
                    this.showNextYear();
                }else{
                    this.update(this.activeDate.add('d', -7));
                }
            },

            'down' : function(e){
                if(e.ctrlKey){
                    this.showPrevYear();
                }else{
                    this.update(this.activeDate.add('d', 7));
                }
            },

            'pageUp' : function(e){
                this.showNextMonth();
            },

            'pageDown' : function(e){
                this.showPrevMonth();
            },

            'enter' : function(e){
                e.stopPropagation();
                return true;
            },

            scope : this
        });

        this.el.unselectable();

        this.cells = this.el.select('table.x-date-inner tbody td');
        this.textNodes = this.el.query('table.x-date-inner tbody span');

        this.mbtn = new Ext.Button({
            text: '&#160;',
            tooltip: this.monthYearText,
            renderTo: this.el.child('td.x-date-middle', true)
        });
        this.mbtn.el.child('em').addClass('x-btn-arrow');
        var today = (new Date()).dateFormat(this.format);
        if(this.showToday){
            this.todayKeyListener = this.eventEl.addKeyListener(Ext.EventObject.SPACE, this.selectToday,  this);
           
            this.todayBtn = new Ext.Button({
                renderTo: this.el.child('td.x-date-today', true),
                text: String.format(this.todayText, today),
                tooltip: String.format(this.todayTip, today),
                handler: this.selectToday,
                scope: this
            });
        }
      //增加清空按钮事件
  this.clearDate=function(){
      this.setValue(new Date().clearTime());
            this.fireEvent('select', this, null);
     };
        this.todayBtn = new Ext.Button({
            renderTo: this.el.child('td.x-date-clear', true),
            text: this.clearText,
            tooltip: this.clearText,
            handler: this.clearDate,
            scope: this
        });
        this.mon(this.eventEl, 'mousewheel', this.handleMouseWheel, this);
        this.mon(this.eventEl, 'click', this.handleDateClick,  this, {delegate: 'a.x-date-date'});
        this.mon(this.mbtn, 'click', this.showMonthPicker, this);
        this.onEnable(true);
    }
   
});

分享到:
评论

相关推荐

    ExtJs 带清空功能的日期组件

    2. **添加清空按钮**: 在组件的配置中,我们需要添加一个额外的工具按钮,用于清空日期。这可以通过`tools`配置项实现。 ```javascript { tools: [{ type: 'clear', handler: function() { this.up('...

    不错的日历控件(JavaScript、ext)

    本文将深入探讨“不错的日历控件”,特别是基于JavaScript和EXT技术实现的这种控件。 首先,JavaScript是一种广泛应用于网页开发的脚本语言,它可以动态更新网页内容,提高用户体验。在网页中实现日历控件,...

    ext框架框架框架框架框架

    通过`border`布局管理器组织页面结构,使用面板组件创建可折叠的区域,并通过盒模型组件添加静态内容。此外,还通过事件监听实现了动态的用户交互功能。这种布局方式非常适合于需要分区域展示内容的大型企业级应用,...

    基于EXT框架的JS日历插件.rar

    基于EXT框架的JS日历插件,EXT框架给人的感觉小清新,十分漂亮,很多JS可以和EXT框架结合起来,甚至是动态的WEB开发语言也可以做到。本代码是一个JavaScript结合EXT实现的日历选择器,既漂亮美观的同时,也保证功能...

    Ext 2.0 框架结构图

    Ext 2.0 框架结构图 Ext.Component ,Ext.BoxComponent ,Ext.Button, Ext.Editor

    Ext TreePanel Checked Ext复选框树

    1. **复选框行为**:在`TreePanel`中添加复选框,每个节点都有一个与之关联的复选框。用户可以通过点击这些复选框来改变节点的选中状态。 2. **父节点与子节点的联动**:描述中提到的“选中父节点,自动选中子节点...

    Ext框架简介-Ext框架简介

    Ext框架简介 Ext框架简介是 Ajax 框架,可以用来开发带有华丽外观的富客户端应用,使得我们的 b/s 应用更加具有活力及生命力,提高用户体验。Ext 是一个用javascript编写,与后台技术无关的前端ajax框架。因此,...

    ext框架仿win 7的效果

    它提供了多种预定义的组件,如按钮、面板、表单、树形视图等,这些组件可以被配置和定制以匹配Win 7的视觉样式。例如,我们可以调整窗口边框、标题栏颜色、图标样式等,来让EXT应用看起来更像Win 7的窗口。 1. **...

    CalendarLite--EXT日历插件

    CalendarLite是一款基于EXT框架的日历插件,EXT是一个流行的JavaScript库,用于构建富客户端应用程序。EXT框架提供了丰富的组件和布局管理功能,使得开发者能够轻松创建交互式、响应式的Web应用。CalendarLite作为...

    ext 精典框架( 远程系统管理框架 html版 )

    EXT JS的组件库包括表格、树形视图、面板、窗口、菜单、按钮等,这些组件都具有高度定制性和交互性。通过这些组件,开发者可以构建出复杂的用户界面,实现数据绑定、拖放操作、数据网格、表单验证等多种功能。 在...

    ext3.2 常强大的日历功能

    【标题】"ext3.2 强大的日历功能"所指的是一款基于EXT-JS框架开发的日历组件。EXT-JS是一个广泛使用的JavaScript库,它提供了丰富的用户界面组件,用于构建复杂的、交互性强的Web应用程序。这款日历组件是EXT-JS库中...

    ext js calendar 日历

    Ext JS Calendar 日历是一款强大的日历控件,适用于构建具有丰富功能的日程管理应用。它提供了多种视图,包括月视图、日视图和周视图,允许用户灵活查看和管理时间安排。本文将深入探讨Ext JS Calendar的核心组件、...

    Ext农历日历(修改)

    在"Ext农历日历(修改)"中,开发人员已经对EXT的原生日历组件进行了增强,添加了农历的支持。农历在中国以及其他东亚国家的日常生活中非常重要,因此这个修改版的日历对于这些地区的用户来说非常实用。农历的计算通常...

    web工程2.0添加ext框架

    组件是EXT的核心,它们是构建应用程序的基本单元,包括按钮、表格、面板、表单等。在EXT5.0中,组件的可配置选项更多,而且提供了更强大的布局管理,如绝对布局、表单布局、流式布局等,使开发者能更自由地设计UI...

    ajax-ext框架

    7. **可扩展性**:Ajax-ext的设计允许开发者根据需求扩展功能,添加自定义组件或插件,满足特定项目需求。 **四、使用Ajax-ext框架** 使用Ajax-ext框架,开发者需要具备JavaScript基础,熟悉DOM操作和JSON格式。在...

    Ext的日历组件ExtCalendar.zip

    Ext Calendar 是 ExtJS 的一个功能非常强大的日历显示组件,支持包括 IE、Firefox、Safari、Chrome 和 Opera 浏览器。 类结构图如下所示: 运行效果图如下: 标签:ExtCalendar

    ext框架,前后台代码

    ext前台框架分层技术,前台分controller,model,store,view四个模块

    EXT 按钮属性对应图片

    EXT按钮拥有丰富的属性和配置选项,使得开发者可以自定义其外观、行为以及交互效果。以下是对EXT按钮属性的详细解释,并结合图片进行对应说明: 1. `text`:这是按钮上显示的文本。例如,`text: '点击我'` 将在按钮...

    Ext用户UI界面优秀框架

    7. 动画和特效:利用Ext JS的动画接口,添加平滑的过渡效果和动态显示。 8. 测试与优化:进行功能测试和性能优化,确保应用的稳定性和性能。 总的来说,Ext JS 是一个功能强大、全面的前端框架,尤其适合开发大型、...

    Ext框架JavaScript开源框架

    Ext框架JavaScript开源框架Ext框架JavaScript开源框架

Global site tag (gtag.js) - Google Analytics