//以下代码功能实现在日历上针对不同日期设置不同的样式,
//例如可实现日程管理中有日程安排的一天的特殊显示样式
this.calendarPanel = new Ext.FormPanel({
region:"west",
id:"calendarPanel",
title:"日历",
width:183,
margins:"-2 -2 -2 0",
// cmargins:"3 3 3 3",
layout:"table",
items:[{
id:"datepicker",
xtype:"calendarpicker",
cancelText:'取消',
monthYearText:'选择一个月 (Control+Up/Down来改变年)',
nextText:'下月 (Control+Right)',
okText:'确定',
prevText:'上月 (Control+Left)',
todayText:'今天',
todayTip:today + ' (空格键选择)',
monthNames:mNames,
dayNames:dNames,
value:new Date(),
listeners:{
select:{
fn:function(dp,date){
var selectDate = date.format('Y-m-d');
Ext.apply(this.calendarStore.baseParams, {
startDate:selectDate, endDate:selectDate
});
this.calendarStore.reload({params:{start:0, limit:this.paging.pageSize}});
if(selectDate.substring(5,7) != lastSelectDay.substring(5,7)){
Ext.apply(this.monthCalendarStore.baseParams, {
startDate:date.format('Y-m') + '-00', endDate:date.format('Y-m') + '-31'
});
this.monthCalendarStore.reload({params:{start:0, limit:this.paging.pageSize}});
}
getCaleDays();//返回需要设置显示的日期
lastSelectDay = selectDate;
},
scope:this,
delay:100
}
}
}]
})
var caleDays = new Array();
var requestFlag = true;//是否请求标志,即若已请求过并返回结果,则不再进行请求
//获得需要显示的日期
function getCaleDays(){
if(requestFlag){
Ext.Ajax.request({
method:'post',
url: 'getCalendarDay.jsp',
scope: this,
success: function(response){
eval("caleDays = " + response.responseText + ";");
requestFlag = false;
setDayStyle();//在此调用乃解决异步请求的处理问题
}
});
}
else{//否则直接调用
setDayStyle();
}
}
//设置显示样式
function setDayStyle(){
var compareDay;
Ext.getCmp('datepicker').getEl().select("table.x-date-inner tbody td").each(function(c){
compareDay = new Date(c.dom.firstChild.dateValue).format('Y-m-d');
for(var i=0;i<caleDays.length;i++){
if(compareDay == caleDays[i]){
c.addClass("calendar-days");
}
}
});
}
注:关于具体的样式设计,在此就不多涉及了,有需要的,可针对具体情况自行设计.
另:以上代码在初始时,未能正常加载,为此,还需修改datepicker的代码(需要修改的地方不多,只需在几处地方增加相应的select触发语句即可)
分享到:
相关推荐
在EXTJS库中,`Ext.DatePicker`是一个用于选择日期的组件,通常在网页中用于输入日期或进行日期选择操作。然而,默认情况下,年份和月份的下拉框是并排显示的。根据标题和描述,这个特定的主题是关于如何自定义`Ext....
通过以上步骤,我们可以成功地在Ext JS应用中使用My97 DatePicker,提供更佳的用户体验。在实际项目中,开发者通常会参考类似博文链接中提供的教程或示例代码进行操作。这个链接虽然为空,但在其他在线资源中,你...
继承 Ext日历控件 支持全选 反选 清除等功能
本代码是一个JavaScript结合EXT实现的日历选择器,既漂亮美观的同时,也保证功能的易用性,如www.codesc.net测试截图所示,喜欢的话,就赶快把它加入到你的WEb项目中吧。 注:本效果在火狐或Chrome浏览器下显示有...
Ext 中的 xtype 和 vtype Ext 是一个功能强大的 JavaScript 框架,它提供了许多有用的组件和工具,使开发者可以快速构建复杂的 Web 应用程序。在 Ext 中,xtype 和 vtype 是两个非常重要的概念,它们分别用于定义...
在Ext JS这个强大的JavaScript框架中,开发者经常使用各种组件来构建富客户端应用,其中包括TextField(文本字段)和DatePicker(日期选择器)。有时,我们可能需要根据应用需求在运行时禁用这些组件的编辑功能,...
BoxComponent是Ext中的基本布局容器,可以用来控制子元素的位置和大小。通过调整BoxComponent的配置选项,开发者可以实现灵活的布局设计。 ##### 2. **Button(按钮组件)** Button组件是Web应用中最常见的交互...
- - - Ext中控件非常丰富,有各种格式的日期选择DateField,但是要选择月份,非常麻烦.往往是需要修改源码的方法,如: 修改Ext.DatePicker使得Ext.form.DateField...使用接口和DateField类似,可以看下面附件中的代码.
"蓝色"皮肤是My97DatePicker众多皮肤中的一种,它提供了专业且简洁的界面,适用于多种类型的网页应用,无论是企业级项目还是个人网站,都能很好地适应并提升用户体验。 蓝色皮肤的设计理念主要体现在色彩搭配和布局...
在给定的文件中,`date.html` 可能是包含示例代码或展示如何在网页中使用此控件的HTML文件,`ext-all.js` 是EXT框架的全量版本,包含了所有EXT组件的实现,而`DatePicker.js` 则可能是EXT专门处理日期选择的...
**2.3 Date Picker (Ext.DatePicker)** - **xtype**: `datepicker` - **功能描述**:Date Picker 是一个日期选择器组件,用户可以通过它选择日期。 - **主要用途**:广泛应用于表单中,需要用户输入特定日期的场景...
本篇文章将围绕"examples.ext.net-5.zip"这个压缩包中的实例代码进行深入探讨,旨在帮助开发者理解和掌握EXT.NET 5.2在WebForm中的应用。 首先,EXT.NET 5.2的主要改进包括组件的增强、性能优化以及对最新浏览器的...
7. **表单组件**:Ext3.2提供了丰富的表单组件,如TextField、ComboBox、DatePicker等,以及复杂的表单布局和验证机制,便于创建用户输入界面。 8. **树形组件TreePanel**:TreePanel用于显示层次结构的数据,支持...
在实际应用中,开发人员通常会通过以下方式使用EXT的月份选择控件: ```javascript // 创建DateField实例 var dateField = Ext.create('Ext.form.DateField', { fieldLabel: '选择月份', width: 200, allowBlank...
描述中提到,EXT JS的原生日期控件不包含时分秒的选择,这意味着在标准的EXT JS DateField或DatePicker组件中,用户只能选择日期,无法设定具体的时间。为了解决这个问题,开发者可以创建一个自定义的EXT JS组件,...
然而,在Ext2.0版本中,标准的日期选择器(DatePicker)默认提供了完整的年、月、日选择功能,可能并不满足只需要选择月份的特定需求。因此,开发者通过扩展(Extension)机制创建了一个名为"MonthPicker"的自定义...
"Ext-datatimefield"是Ext JS库中的一个组件,它结合了日期选择器(Ext-datepicker)和时间选择器(Ext-timefield),提供了一种用户友好的方式来输入或选择日期和时间。这个组件非常适合需要用户输入特定日期和时间...
1.2.4 在javascript中使用json / 4 1.2.5 在.net中使用json / 8 1.2.6 在java中使用json / 12 1.2.7 更多有关json的信息 / 15 1.3 ext js 4概述 / 15 1.4 ext js的开发工具的获取、安装与配置介绍 / 18 1.4.1...
在描述中,提供了博文链接,虽然没有具体内容,但可以推测博主可能详细解释了如何配置或自定义Ext2中的日期组件以仅显示年月选择。这可能涉及到对源码的修改,或者利用现有的API选项来实现这一功能。 标签 "源码" ...
9. **editor**:对于包含日期的列,使用`DatePicker`作为编辑器,定义了日期格式、最小值以及不可选的日期。 EXT可编辑表格结合了EXTJS的灵活性和强大功能,提供了直观、交互式的数据编辑体验,常用于需要用户在...