- 浏览: 238011 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
月度银墙:
<div class="quote_title ...
ext2,3,和4 版本 只显示年月的日期插件 -
38123978:
你好,我最近在看cassandra的性能,我想问一下5000万 ...
Cassandra学习笔记3 -
zhaojinmeng:
您好楼主,extjs5要怎么扩展啊?求指导
ext2,3,和4 版本 只显示年月的日期插件 -
love_wting:
为什么下拉框的表格样式显示了,数据访问json也从数据库中取到 ...
Extjs 下拉grid -
laungcisin:
<div class="quote_title ...
ext2,3,和4 版本 只显示年月的日期插件
Ext技术交流群:164648099
1:ext3版本插件
来自官方论坛:http://www.sencha.com/forum/showthread.php?74002-3.x-Ext.ux.MonthMenu
插件代码:
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(); p.mun(p.monthPicker, 'click', p.onMonthClick, p); p.mun(p.monthPicker, 'dblclick', 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, 'dblclick', 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);
调用例子:
new Ext.form.DateField({ renderTo: document.body, plugins:'monthPickerPlugin', name:'rq', format: 'Y-m' });
2:Ext2版本(测试2.0.2成功)
插件代码见附件
使用例子:
引入: <script type="text/javascript" src="DatePicker.js"></script>
<script type="text/javascript" src="DateField.js"></script>
{ xtype : "datefield", fieldLabel : "date", format:'Y-m' }
效果图:
3:Ext4版本 年月插件:
/** Months picker 重写 field.Date **/ Ext.define('Ext.form.field.Month', { extend:'Ext.form.field.Date', alias: 'widget.monthfield', requires: ['Ext.picker.Month'], alternateClassName: ['Ext.form.MonthField', 'Ext.form.Month'], selectMonth: null, createPicker: function() { var me = this, format = Ext.String.format; return Ext.create('Ext.picker.Month', { pickerField: me, ownerCt: me.ownerCt, renderTo: document.body, floating: true, hidden: true, focusOnShow: true, minDate: me.minValue, maxDate: me.maxValue, disabledDatesRE: me.disabledDatesRE, disabledDatesText: me.disabledDatesText, disabledDays: me.disabledDays, disabledDaysText: me.disabledDaysText, format: me.format, showToday: me.showToday, startDay: me.startDay, minText: format(me.minText, me.formatDate(me.minValue)), maxText: format(me.maxText, me.formatDate(me.maxValue)), listeners: { select: { scope: me, fn: me.onSelect }, monthdblclick: { scope: me, fn: me.onOKClick }, yeardblclick: { scope: me, fn: me.onOKClick }, OkClick: { scope: me, fn: me.onOKClick }, CancelClick: { scope: me, fn: me.onCancelClick } }, keyNavConfig: { esc: function() { me.collapse(); } } }); }, onCancelClick: function() { var me = this; me.selectMonth = null; me.collapse(); }, onOKClick: function() { var me = this; if( me.selectMonth ) { me.setValue(me.selectMonth); me.fireEvent('select', me, me.selectMonth); } me.collapse(); }, onSelect: function(m, d) { var me = this; me.selectMonth = new Date(( d[0]+1 ) +'/1/'+d[1]); } }); /** Months picker **/
/********************************************************************************/ //使用时 xtype: 'monthfield', //引用类型为上面自定义的部分 editable : false, format : 'Y/m',//格式化数据 fieldLabel: 'beginDate', value : new Date() //最好加上默认时间 否则在第一次点击的时候 如果没有选择数据就点击OK的话 数据无法展示在对话框中
其他js见附件
- ext2版本插件只显示年月-datefield.rar (9.5 KB)
- 下载次数: 284
- Ext4相关文件.rar (1.6 KB)
- 下载次数: 273
评论
7 楼
月度银墙
2017-04-05
wangxiang243 写道
不错 !
但是ext4中六月和十二月显示不出来,框子短了,怎么解决?
但是ext4中六月和十二月显示不出来,框子短了,怎么解决?
在
pickerConfig中加上
height:230,
6 楼
zhaojinmeng
2015-08-11
您好楼主,extjs5要怎么扩展啊?求指导
5 楼
laungcisin
2014-09-12
yangxiutian 写道
另外Ext4.2.1还故意把x-monthpicker-buttons的优先级写高了
还必须.x-monthpicker-buttons{position:relative !important;bottom:0;width:100%}
这样写才有效果, 唉 感觉覆盖样式的解决方式并不好啊 Ext一升级 说不定有用不了了
还必须.x-monthpicker-buttons{position:relative !important;bottom:0;width:100%}
这样写才有效果, 唉 感觉覆盖样式的解决方式并不好啊 Ext一升级 说不定有用不了了
ext-theme-classic-all.css 文件末尾添加
.x-monthpicker-buttons {
position: relative;
}
.x-datepicker .x-monthpicker-buttons {
position: absolute;
}
http://www.sencha.com/forum/showthread.php?264688-Ext.picker.Month-bottom-cut-off
4 楼
yangxiutian
2014-04-27
另外Ext4.2.1还故意把x-monthpicker-buttons的优先级写高了
还必须.x-monthpicker-buttons{position:relative !important;bottom:0;width:100%}
这样写才有效果, 唉 感觉覆盖样式的解决方式并不好啊 Ext一升级 说不定有用不了了
还必须.x-monthpicker-buttons{position:relative !important;bottom:0;width:100%}
这样写才有效果, 唉 感觉覆盖样式的解决方式并不好啊 Ext一升级 说不定有用不了了
3 楼
yangxiutian
2014-04-27
楼主,我发现你的解决方案会引发新问题, 如果在同一个页面使用了月份组件和日期组件,那么日期组件点击月份的时候按钮就看不到了,就是因为我们覆盖了它的样式引起的;Ext4.2.1设计的如此蹩脚是不是故意阻止我们扩展月份插件的,那它怎么不搞一个官方的呢。。。
i_m 写道
我在ext4.2中,也是引用该脚本,跟1楼同样问题。我google调试后,找到相关样式。
在jsp中覆盖样式
.x-monthpicker-buttons{position:relative;bottom:0;width:100%}
这个样式,把position:absolute 替换为relative就出来了。
在jsp中覆盖样式
.x-monthpicker-buttons{position:relative;bottom:0;width:100%}
这个样式,把position:absolute 替换为relative就出来了。
2 楼
i_m
2013-10-31
我在ext4.2中,也是引用该脚本,跟1楼同样问题。我google调试后,找到相关样式。
在jsp中覆盖样式
.x-monthpicker-buttons{position:relative;bottom:0;width:100%}
这个样式,把position:absolute 替换为relative就出来了。
在jsp中覆盖样式
.x-monthpicker-buttons{position:relative;bottom:0;width:100%}
这个样式,把position:absolute 替换为relative就出来了。
1 楼
wangxiang243
2013-05-17
不错 !
但是ext4中六月和十二月显示不出来,框子短了,怎么解决?
但是ext4中六月和十二月显示不出来,框子短了,怎么解决?
发表评论
-
js原型分析研究
2012-07-23 22:44 1479原型是个很微妙的东西,很多人不是很理解,理解了原型对于 ... -
Ext4.1.0 API中文版V0.4 Beta(持续更新)
2012-07-17 18:40 1075Ext4.1.0 API中文版V0.4 Beta html ... -
记录回答别人的Ext4问题
2012-07-10 13:23 26781:Ext4版本 双击Tab页面页签关闭 来自问题:ht ... -
Extjs4 时分秒日期插件
2012-05-11 13:05 12392插件1: 初始界面 弹出界面 插件代码 见附件 ... -
Ext3 日期范围插件
2012-04-03 17:32 2159先上 效果图有图有真相嘛 使用例子: ... -
Extjs2分页树 带查询功能
2012-03-29 11:37 4213先上效果图: 插件代码见附件 使 ... -
ext2 日期范围控件(2个控件)
2012-03-25 17:39 3057控件1 介绍: 首先加入 Ext.apply( ... -
ext2 grid 封装 (包含增删改查 导入导出等操作)
2012-02-27 14:32 5047最近项目又用到ext 比较 ... -
tree拖拽
2011-09-04 22:09 2463当时遇到如下问题: 拖拽A tree 的a节点到B tree ... -
ExtJS Web应用程序开发指南(第2版)(针对Ext JS 4.0更新)源代码
2011-08-11 14:56 1102ExtJS Web应用程序开发指南(第2版)(针对Ext JS ... -
通过拖拽Grid改变行的顺序
2010-10-08 13:06 3797<script> var meta ... -
使用注解和反射构造ext的grid需要的列模型
2010-09-18 12:03 1712注解类: package xzd; import ... -
ExtJs Grid分页时序号自增的实现
2010-08-23 16:28 3081首先看到网上都是类似 http://www.blogjava. ... -
extjs 自己的小小总结
2010-08-13 21:15 3332总结自己的代码 可能以后会用到 记录一下 方便以后查阅 1 ... -
eclipse 中怎样来集成 JBOSS
2010-08-09 08:46 0eclipse 中怎样来集成 JBOSS -
关于Extjs3.0中的TreeGrid (Ext.ux.maximgb.tg.EditorGridPanel)(转)
2010-08-01 21:38 4396转:(http://www.liyonghome.cn/ind ... -
ext grid 单元格提示 出现图片
2010-07-31 00:03 2703代码简单 只是记录一下 <html> ... -
ext tree相关知识
2010-07-30 23:53 2644ext tree 动态修改各个节点名称icon小图标 &qu ... -
ext 后台查数据库数据拼装tree数据
2010-07-26 22:21 2513来自:Extjs交流群(164648099) 说明: ... -
ext grid刷新后 滚动条位置不变
2010-07-19 21:11 3026Ext.override(Ext.grid.GridView, ...
相关推荐
总结来说,"Ext DateField控件 - 只选择年月插件"是一个方便易用的工具,能够帮助开发者在Ext JS应用程序中实现更精细的日期选择功能,专注于年月的选取,从而满足特定场景下的用户需求。通过合理地配置和集成,你...
Ext中控件非常丰富,有各种格式的日期选择DateField,但是要选择月份,非常麻烦.往往是需要修改源码的方法 我添加了一个插件 代码及调用见 下载资源 本人已测 无问题
在EXT(Ext JS)这个强大的JavaScript框架中,时间控件是一种常见的组件,用于用户界面中进行日期和时间的选择。EXT提供了多种这样的控件,其中一种是能够选择年、月、日、时、分、秒的高级时间选择器。标题中的"ext...
2. **配置时间选择**:在新的控件类中,我们可以通过设置`format`属性来指定日期和时间的格式,例如`'Y-m-d H:i:s'`,这会显示年月日、小时、分钟和秒。同时,`timeFormat`属性可以用于定制时间部分的显示格式。 3....
Extjs DateField控件 - 只选择年份(找了很久发现网上只有选择年月的控件,于是基于extjs年月控件设计了只选择年份的控件)
1.此控件支持Ext3.2及以上版本 2.用法与Ext.form.DateField一样,xtype:'datetimefield' 3.不需要导入css或其他js 4.解决某些插件导入会显示对象未定义问题
总之,Ext4.2年月日时分秒时间选择控件是一个增强用户体验的前端组件,它结合了日期选择和时间选择的功能,使用户能够更准确地输入时间信息。通过深入理解和使用这样的控件,开发者可以提升Web应用的质量和用户体验...
在压缩包中的"Ext年月日时分秒组件"可能包含了源码、示例、文档和样式文件。通过查看这些文件,你可以学习如何在自己的项目中集成并定制这个组件。一般来说,开发者会参考提供的示例代码,理解其工作原理,然后根据...
往往是需要修改源码的方法,如: 修改Ext.DatePicker使得Ext.form.DateField只选择年月 等,但是修改源码有个不好的地方,如果ext升级了,又需要改一次,很不方便.干脆,就重写了一个月份选择控件.使用接口和DateField类似,...
ExtJS4支持多语言,因此日期控件可以根据用户的浏览器设置或者手动配置显示不同语言的日期和时间格式。 6. **自定义渲染** 通过使用`renderer`函数,你可以自定义日期字段的显示方式,这在需要特殊格式或者样式时...
3. **组合控件(DateTime Field)**:如果你需要同时选择日期和时间,可以使用`Ext.form.field.DateTimePicker`,它结合了日期和时间选择器的优点。配置项会包含上述两种选择器的所有选项,可以自定义日期和时间的...
2. **多功能**:支持多种日期格式,如年月日、年/月/日等,并可以设置日期范围限制,防止用户输入无效日期。 3. **自定义**:开发者可以根据自己的需求调整日期选择器的样式、语言、显示模式等,蓝色皮肤提供了基础...
- `dateFmt`:指定日期格式,如`'yyyy-MM-dd'`表示年月日,`'yyyy-MM-dd HH:mm'`表示年月日加时分。 ##### 2.3 ASP.NET Web Forms - **概念介绍**:ASP.NET Web Forms是一种构建动态Web应用程序的技术,由...