Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6623634
  • 博文数量: 227
  • 博客积分: 10047
  • 博客等级: 上将
  • 技术积分: 6678
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-11 10:33
个人简介

网上的蜘蛛

文章分类

全部博文(227)

文章存档

2010年(19)

2009年(29)

2008年(179)

分类: 系统运维

2008-05-10 22:41:05

其实上次已经向大家介绍了一个JavaScript日期控件。这次呢介绍功能更加强大的Calendar java脚本控件。官方主页请见:.你可以看到在线演示以及整个源码的下载。效果图:

接下来简单介绍具体使用方法。一种是平面式的日期控件,一种是弹出式的日期控件。首先介绍第一种:平面式日期控件。

首先当然是下载控件,解压之后可以见到建立一个日期控件所需要的css以及js.新建一个html/jsp等web文件在中导入以下文件:

<link rel="stylesheet" type="text/css" media="all" href="calendar-green.css" title="calendar-green" />
<script type="text/javascript" src="calendar.js"></script>
<script type="text/javascript" src="lang/calendar-en.js"></script>
<script type="text/javascript" src="calendar-setup.js"></script>

其中calendar-green.css是可以有用户自定义的。里面提供了win-cold,brown,blue,green等几种风格,很不错的。导入所需要的文件之后,我们开始动手创建我们的平面式的日期控件。首先创建一个容器:

<div id="calendar-container"></div>

然后编写js脚本:(可以放在

标记之后的任何地方)

<script type="text/javascript">
function dateChanged(calendar) {
// Beware that this function is called even if the end-user only
// changed the month/year. In order to determine if a date was
// clicked you can use the dateClicked property of the calendar:
if (calendar.dateClicked) {
// OK, a date was clicked, redirect to /yyyy/mm/dd/index.php
var y = calendar.date.getFullYear();
var m = calendar.date.getMonth(); // integer, 0..11
var d = calendar.date.getDate(); // integer, 1..31
// redirect...
window.location = "/" + y + "/" + m + "/" + d + "/index.php";
}
};
Calendar.setup(
{
flat : "calendar-container", // ID of the parent element
flatCallback : dateChanged // our callback function
}
);
</script>

其中window.location = "/" + y + "/" + m + "/" + d + "/index.php";代表比如我们写blog,在日期控件上点日期号码,就可以找到我们在那个日期内所写的所有博客文章。就是这个作用。当然你也可以实现你要的功能。很简单吧

接下来我们看看:弹出式日期控件。

当然同样需要加载所需的文件了,如上。然后在html实现,当用户点击textfield或者button弹出日期控件的效果。

<form ...>
<input type="text" id="data" name="data" />
<button id="trigger">Pop up</button>
</form>

紧跟着编写脚本:(把下面的js放在之后)

<script type="text/javascript">
Calendar.setup(
{
inputField : "data", // ID of the input field

ifFormat : "%m %d, %Y", // the date format

button : "trigger" // ID of the button

}
);
</script>

当然你也可以把button,换成一张图片,这样一看就知道点图片选择日期:

<form action="#" method="get">
<table cellspacing="0" cellpadding="0" style="border-collapse: collapse"><tr>
 <td><input type="text" name="date" id="f_date_c" readonly="1" /></td>
 <td><img src="img.gif" id="f_trigger_c" style="cursor: pointer; border: 1px solid red;" title="Date selector"
      onmouseover="this.style.background='red';" onmouseout="this.style.background=''" /></td>
</table>
</form>

<script type="text/javascript">
    Calendar.setup({
        inputField : "f_date_c", // id of the input field
        ifFormat : "%B %e, %Y", // format of the input field
        button : "f_trigger_c", // trigger for the calendar (button ID)
        align : "Tl", // alignment (defaults to "Bl")
        singleClick : true
    });
</script>

花样很多,不一一介绍。有兴趣的可以看官方Document .
阅读(2597) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~