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

DHTMLX系列组件的使用(3)——dhtmlx日历应用

阅读更多

1. 初始化

首先将 dhtmlxSuit 中的 dhtmlxCalendar 文件夹下的 codebase 文件夹整个复制到你的项目目录下,然后创建HTML文件。

1.1 引入JS文件和CSS文件

<link rel="stylesheet" type="text/css" href="codebase/dhtmlxcalendar.css" />
<script  src="codebase/dhtmlxcommon.js"></script>
<script  src="codebase/dhtmlxcalendar.js"></script>

 

1.2 定义用于显示日历的容器

<input type="text" id="calendar" />

 

1.3 定义生成日历的 JS 函数

<script type="text/javascript">
window.dhx_globalImgPath = "codebase/imgs/";
window.onload = function() {
    var cal1 = new dhtmlxCalendarObject('calendar');
}
</script>

 

1.4 效果预览

 

2. 皮肤设置

2.1 引入样式文件

在上面的基础上,引入 codebase 文件夹下所有的样式文件。

<link rel="stylesheet" type="text/css" href="codebase/dhtmlxcalendar.css" />
<link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxcalendar_classic.css" />
<link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxcalendar_dhx_black.css" />
<link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxcalendar_dhx_blue.css" />
<link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxcalendar_dhx_skyblue.css" />
<link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxcalendar_simpleblue.css" />
<link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxcalendar_simplecolordark.css" />
<link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxcalendar_simplecolorsand.css" />
<link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxcalendar_simplegrey.css" />
<link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxcalendar_vista.css" />
<link rel="stylesheet" type="text/css" href="codebase/skins/dhtmlxcalendar_yahoolike.css" />

 

2.2 定义下拉列表框

<select name="cssName" id="skinSelect" onChange="cal1.setSkin(this.value);">
    <option value="" selected >= default =</option>
    <option value="yahoolike">Yahoo like</option>
    <option value="simplegrey">Simple gray</option>
    <option value="simpleblue">Simple blue</option>
    <option value="vista">Windows Vista</option>            
    <option value="simplecolordark">Simple color dark</option>
    <option value="simplecolorsand">Simple color sand</option>
    <option value="classic">Classic</option>                                
    <option value="dhx_blue">Dhx Blue</option>
    <option value="dhx_black">Dhx Black</option>
<option value="dhx_skyblue">Dhx Skyblue</option>
</select>

 

2.3 效果预览

说明:运行后,选择下拉列表框即可改变日历的皮肤。事实上,这里调用了 setSkin 函数,并指定参数即可。

 

3. 基本设置

<script type="text/javascript">
window.dhx_globalImgPath = "codebase/imgs/";
window.onload = function() {
var cal1 = new dhtmlxCalendarObject('calendar', true, {isYearEditable: true, isWinHeader: true, isWinDrag: true});
cal1.setYearsRange(1900, 2010);
cal1.loadUserLanguage("en-us");
}
</script>

年度设置:首先设置 isYearEditable 为 true,然后调用 setYearsRange 设置年度范围,如果不设置的话,默认的年度范围是 1900 年至 2100 年。

语言设置:调用 loadUserLanguage 函数进行设置即可,不过目前好像只支持美国英语,俄罗斯语和德语三种语言。

 

4. 周开始日设置

<script type="text/javascript">
window.dhx_globalImgPath = "codebase/imgs/";
window.onload = function() {
var cal1 = new dhtmlxCalendarObject('calendar', true, {isYearEditable: true, isWinHeader: true, isWinDrag: true});
cal1.options.weekstart = 2;
cal1.draw();
}
</script>

说明:通常情况下,我们习惯于将周日作为一周最开始的一天。在这里,可以通过设置 options.weekstart 属性来设置一周最开始的一天。其中,0 表示周日,1 表示周一,其余类推。当然,设置后,还需要调用 draw 函数重绘日历才能得到设置后的效果。

 

5. 将日历依附于多个文本框

首先定义多个文本框。

<input type="text" id="calInput1" style="width: 200px; font-size:12px;" readonly="readonly">
<input type="text" id="calInput2" style="width: 200px; font-size:12px;" readonly="readonly">
<input type="text" id="calInput3" style="width: 200px; font-size:12px;" readonly="readonly">

 然后定义 JS 函数,

<script type="text/javascript">
window.dhx_globalImgPath = "codebase/imgs/";
window.onload = function() {
var cal1 = new dhtmlxCalendarObject(['calInput1', 'calInput2', 'calInput3']);
}
</script>

 

6. 节日设置

<script type="text/javascript">
window.dhx_globalImgPath = "codebase/imgs/";
window.onload = function() {
mCal = new dhtmlxCalendarObject('dhtmlxCalendar', true);
cal1.setHolidays("01.01,2009.08.24,09.01");
}
</script>

 说明:调用 setHolidays 函数即可进行设置。设置后的日历,对应的日历将以深红色,粗体字显示(默认样式)。

 

7. 日期格式化

// mCal is an object of dhtmlxCalendarObject
mCal.setDateFormat(dateformatString);
var date = mCal. getFormatedDate();

说明:首先调用 setDateFormat 函数设置格式,然后调用 getFormatedDate 函数即可设置格式化后的日期值。其中,格式化字符串可以是以下字符的组合。

// Date Format Info:
%e [g-] Day of the month without leading zeros (01..31)
%d [gs] Day of the month, 2 digits with leading zeros (01..31)
%j [g-] Day of the year, 3 digits with leading zeros (001..366)
%a [g-] A textual representation of a day, three letters
%W [g-] A full textual representation of the day of the week
%c [g-] Numeric representation of a month, without leading zeros (1..12)
%m [gs] Numeric representation of a month, with leading zeros (01..12)
%b [gs] A short textual representation of a month, three letters (Jan..Dec)
%M [gs] A full textual representation of a month, such as January or March (January..December)
%y [g-] A two digit representation of a year (93..03)
%Y [gs] A full numeric representation of a year, 4 digits (1993..2003)
%% [gs] Char "%"

例如:如果格式化字符串为“%Y年%m月%d日”,则日期值为:2010年05月23日

 

8. 隐藏/显示日历

// mCal is an object of dhtmlxCalendarObject
mCal. hide();
mCal.show();
mCal.isVisible();

说明:isVisible 函数返回一个 bool 值来表示日历的显示状态。

 

9. onChangeMonth 事件

<script type="text/javascript">
var mCal; 
window.onload = function() {
    mCal = new dhtmlxCalendarObject('dhtmlxCalendar', false, { isYearEditable: true});
    mCal.attachEvent("onChangeMonth", mSelectMonth);
    mCal.draw();
}
function mSelectMonth(curMonth, prevMonth) {
    // do something you like
    return true;
}
</script>

 

10. onClick 事件

<script type="text/javascript">
var mCal; 
window.onload = function() {
    mCal = new dhtmlxCalendarObject('dhtmlxCalendar', false, { isYearEditable: true});
    mCal.attachEvent("onClick", mSelectDate);
    mCal.draw();
}
function mSelectDate(date) {
    // do something you like
    return true;
}
</script>

 

 

 

-----------------------------------------------------

Stay Hungry, Stay Foolish!

Afa

May 24th, 2010

-----------------------------------------------------

 

 

 

 

 

分享到:
评论
3 楼 yarafa 2010-06-23  
刚写错了,在第一种方式中,最好用 Date 对象的 getFullYear 方法
2 楼 yarafa 2010-06-23  
你可以参照第10点的 onclick 事件,在 mSelectDate 函数中做任何你想做的事,比如,可以有以下两种方法来获取你所需要的日期和时间
function mSelectDate(date) {
	var selectedDate = new Date(date);
	alert(selectedDate.getYear());
}

通过参数 date 构造一个 Date 对象,之后你想干嘛就可以干嘛了。第二种方式是:
function mSelectDate(date) {
	var year = mCal.getFormatedDate("%Y", date);
         alert(year)
}
1 楼 lucane 2010-06-23  
你好,请问下,当选择一个日期之后,我能捕捉到它的时间吗?
我想再选择日期之后去调用一个方法,谢谢了

相关推荐

    dhtmlx 日历

    dhtmlx 日历dhtmlx 日历dhtmlx 日历dhtmlx 日历dhtmlx 日历dhtmlx 日历dhtmlx 日历dhtmlx 日历dhtmlx 日历dhtmlx 日历dhtmlx 日历dhtmlx 日历dhtmlx 日历dhtmlx 日历dhtmlx 日历dhtmlx 日历dhtmlx 日历dhtmlx 日历

    dhtmlx的免费grid组件

    5. **dhtmlxCalendar**:可能是DHTMLX的日历组件,可以与Grid配合使用,提供日期选择功能。 6. **docsExplorer**:可能是一个文档浏览器或示例浏览器,用于查看和学习组件的API和示例。 7. **dhtmlxToolbar**:这...

    dhtmlx中文手册+dhtmlx.js+dhtmlx.css

    这个压缩包包含了dhtmlx的核心组件:`dhtmlx.css`,`dhtmlx.js`,以及一份中文操作手册——`dhtmlx中文使用手册API指南.doc`。这些资源对于理解和使用dhtmlx库至关重要。 1. **dhtmlx.css**: 这是dhtmlx库的样式表...

    《DHTMLX中文使用手册》PDF

    - DHTMLX提供了一系列内置组件,如表格(grid)、树形结构(tree)、图表(chart)、日历(calendar)等,满足不同应用场景的需求。 - 这些组件具有高度可定制性,可以轻松地通过CSS进行样式调整,从而适应不同的设计风格...

    dhtmlx及帮助文档

    PDF版本的手册详尽地介绍了dhtmlx库的各个组件、方法、事件和属性,提供了实例代码和使用指南,帮助开发者快速理解和应用这个库。通过阅读这份手册,开发者可以学习如何初始化组件、配置它们的外观和行为、处理用户...

    dhtmlxGantt.doc

    dhtmlxGantt 甘特图组件使用指南 dhtmlxGantt 是一个 JavaScript 组件,能够创建动态的甘特图和以便利的图形化方式查看项目计划。它能够展示各个活动之间的依赖关系,显示当前计划的状态,以完成百分比阴影的方式...

    dhtmlx官方框架——dhtmlxGrid和dhtmlxTabbar示例、简单例子

    “dhtmlx官方框架——dhtmlxGrid和dhtmlxTabbar示例、简单例子” 这个标题提到了两个关键组件,dhtmlxGrid和dhtmlxTabbar,它们是dhtmlx框架中的核心部分。dhtmlx是一个广泛使用的JavaScript库,用于构建富客户端Web...

    dhtmlx的日历插件做的一个日历

    标题中的“dhtmlx的日历插件做的一个日历”指的是使用dhtmlx Scheduler这个JavaScript库创建的一个交互式日历组件。dhtmlx Scheduler是一款功能强大的Web日历解决方案,它允许开发者在网页上构建可定制的事件日程...

    dhtmlx UI组件

    **dhtmlx UI组件**是一套全面的JavaScript库,它为开发者提供了丰富的用户界面元素,可用于构建功能强大的Web应用程序。这个组件集包含了多种模块,如树形控件、编辑器、选项卡栏、表格等,使得开发人员可以轻松地...

    用Dhtmlx做的例子

    DHTMLX是一个强大的JavaScript库,它提供了一系列组件,用于构建高度交互式的Web应用程序。这个库以其丰富的用户界面元素和功能而闻名,包括树形控件、数据网格、日历以及可编辑、可拖拽和可排序的表格。下面将详细...

    免费版的全套DHTMLX

    这个免费版的全套DHTMLX包含了一系列的UI组件,可以帮助开发者快速创建交互式的、功能丰富的网页应用。DHTMLX的核心在于其轻量级、高性能和灵活性,它支持多种前端框架如jQuery、AngularJS和Vue.js,使得开发人员...

    Dhtmlx日程-图表-甘特图实例

    在实际应用中,Dhtmlx的这些组件通常会结合使用,例如,日程可以用来跟踪个人或团队的日常工作,而甘特图则用于展示整个项目的时间线。同时,通过图表模块,可以将项目数据以图形化方式呈现,使得数据分析更为直观和...

    dhtmlx中文使用手册

    dhtmlx包含多个核心组件,如Grid、Calendar、Tree、Accordion、Toolbar等,它们可以单独使用,也可以组合在一起创建复杂的Web应用。 1. **dhtmlxGrid**:这是一个可伸缩的表格控件,支持大量的数据处理,包括排序、...

    Dhtmlx包,包含树,日历,菜单,表格等控件

    Dhtmlx是一个强大的JavaScript库,专门用于开发交互式的Web应用程序。这个开源框架包含了丰富的组件,如树形控件、日历、菜单、表格等,帮助开发者构建功能丰富的前端界面,无需深入HTML、CSS和JavaScript的底层细节...

    DHTMLX中文API开发手册

    DHTMLX中文API开发手册详细介绍了DHTMLX组件库中的各个组件,包括日历、组合框、编辑器、布局管理器、菜单等的使用方法和特性。每个组件都有详细的初始化指导、事件处理方式、功能设定等,为Web应用开发人员提供了...

    dhtmlxGrid2.1.zip

    3. **index.html**:示例网页,展示了如何在实际项目中集成和使用dhtmlxGrid2.1,通常包含基本的HTML结构和JavaScript代码来初始化和配置组件。 4. **readme.txt**:一般包含组件的快速使用指南、注意事项或版本...

    dhtmlx4.5.1pro

    3. **dhtmlxScheduler**:这个日历组件用于创建事件管理应用,支持拖放操作、资源分配、时间范围选择和多视图模式,如日视图、周视图、月视图等。 4. **dhtmlxChart**:提供了各种图表类型,如柱状图、饼图、线图等...

Global site tag (gtag.js) - Google Analytics