TimePanel=Ext.extend(Ext.form.FormPanel,{
?constructor:function(){
??TimePanel.superclass.constructor.call(this,{
???border:false,
???defaults:{border:false},
???layout:'column',
???items:[{
????xtype:'combo',
????value:'2011',
????width:60,
????name:'yearcombo',
????store:new Ext.data.SimpleStore({
?????fields:['year'],
?????data:[['2010'],['2011'],['2012'],['2013']]
????}),
????listeners:{'select':this.changeDay},
????mode:'local',
????displayField:'year',
????valueField:'year',
????triggerAction:'all'
???},{
????xtype:'label',
????text:'年'
???},{
????xtype:'combo',
????value:'07',
????name:'monthcombo',
????width:50,
????store:new Ext.data.SimpleStore({
?????fields:['month'],
?????data:[['01'],['02'],['03'],['04'],['05'],['06'],['07'],['08'],['09'],['10'],['11'],['12']]
????}),
????listeners:{'select':this.changeDay},
????mode:'local',
????displayField:'month',
????valueField:'month',
????triggerAction:'all'
???},{
????xtype:'label',
????text:'月'
????
???},{
????xtype:'combo',
????value:'10',
????width:50,
????name:'daycombo',
????store:new Ext.data.SimpleStore({
?????fields:['day'],
?????data:[['01'],['02'],['03'],['04'],['05'],['06'],['07'],['08'],['09'],['10'],
???????['11'],['12'],['13'],['14'],['15'],['16'],['17'],['18'],['19'],['20'],
???????['21'],['22'],['23'],['24'],['25'],['26'],['27'],['28'],['29'],['30'],['31']]
????}),
????mode:'local',
????displayField:'day',
????valueField:'day',
????triggerAction:'all'
???},{
????xtype:'label',
????text:'日'
???}]
??});
?},
?/**
? * 年月变化,改变日
? */
?changeDay:function(){
??//每个月的初始天数??
?????????????? MonDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];??
??var year=this.ownerCt.findByType("combo")[0].getValue();
??var month=this.ownerCt.findByType("combo")[1].getValue();
??var n = MonDays[month - 1];??
??if(month=='2'&&isLeapYear(year)){
???n++;
??}
??
??var _store=new Ext.data.SimpleStore({
???fields:['day']
??});
??//填充日期下拉框
??for(var i=1; i<=n; i++)??
??? ????? {??
??? ??????? ?var _record=new Ext.data.Record({'day':i});
??? ??_store.add(_record);
??? ????? }
??? ?this.ownerCt.findByType("combo")[2].store=_store;
??? ?if(this.ownerCt.findByType("combo")[2].view)
??? ??this.ownerCt.findByType("combo")[2].view.setStore(_store);??
?},
?/**
? * 判断是否闰年??
? * @param {} year
? * @return {}
? */
?isLeapYear:function (year)
? {???
??????? return( year%4==0 || (year%100 ==0 && year%400 == 0));??
? }?
});
详细解决方案
extjs 年月日联动上拉框
热度:150 发布时间:2012-10-18 13:46:55.0
相关解决方案
- Extjs grid 失去选中行的列数据
- extjs 后台有数据,但是返回到页面为空,jsonStore加载错误,这是咋回事
- S2SH、EXTJS、JSON调整后,EXTJS接收不到Struts2的Action传回的值,无语
- extjs 简单有关问题
- extjs+struts2解决办法
- ExtJs 处理 datetime 有关问题
- 【EXTJS】iframe里嵌套ext.window,怎样使ext.window弹出到iframe外,该怎么解决
- Tomcat + extjs 入门有关问题
- extjs ColumnModel 怎么实现表格中的数据小数点对齐
- Extjs 变量前的一个加号代表什么意思?解决方法
- extjs grid 怎么实现 行选中变色
- ExtJs 提交表单的小疑点
- 自己写的Asp.net Ajax,Jquery,ExtJs 三种Ajax技术框架比较,希望大家提提意见,多谢
- EXTJS grid的getView的refresh步骤报this.grid为空或不是对象
- EXTJS grid的getView的refresh方法报this.grid为空或不是对象解决办法
- Extjs 上拉菜单如何实现拼音输入进行检索
- ExtJs ComboBox 上拉数据较多时,怎么提供模糊搜索
- extjs grid.Panel 局部刷新,该如何处理
- extjs window 弹出框有关问题 怪事
- ExtJs ComboBox 下拉数据较多时,怎么提供模糊搜索
- 英语翻译(extjs 中的Ext.Component)解决方案
- Extjs Ext.data.Store使用有关问题
- ExtJs Combobox绑值有关问题
- EXTJS GridPanel怎么设置多选
- EXTJS 在 IE 中 数据丢失。求解决方法。
- extjs grid 动态设置行单元格可编辑
- EXTJS DateField 效果显示解决方法
- Extjs Menu 实现动态多级菜单
- extjs grid.Panel 局部刷新,该如何处理
- ExtJs ComboBox 上拉数据较多时,怎么提供模糊搜索