论坛首页 Web前端技术论坛

基于jQuery插件实现的"高级"时间控件

浏览 16508 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2009-11-20   最后修改:2009-11-23

之所以叫高级,是因为比普通的选择控件多了一点点功能。。。

好久没有写表现层的东东了。项目经常会用选取时间范围的东东,所以就花了点儿时间写了一个jQuery的插件。。闲话少说 上图。。。

 

 

此组件的适用范围如下:

1.日期范围的查询报表。

2.可以作为表单提交。

 

 

实际使用截图

 




 

 

 

 现有版本更新为0.3

版本更新信息如下:

0.2v:

 1.增加国际化功能
 2.增加隐藏表单方便提交
 3.修复CSS下拉菜单位置的BUG

 

03v:

 1.增加自定义排序

 2.增加日期的选中

 3.代码的重构

 

代码在附件中 下载。。


 

  1. 首先会有一个div的东东。渲染出时间的范围如图。2009-11-19 - 2009-11-19 。。
     2.点击时间范围,会出现一个选择时间范围的下拉菜单。用户可以选择的时间范围有 自定义时间范围 今天 昨天 上周 这个月 上个月。。

     


3.如点击这个月。上面的时间范围就会变为2009-11-01 - 2009-11-30.。

 


 



 
 4.点击应用按钮 ,就会获取到选中的时间范围。。所返回的值是字符串和时间数组,分别为value,date。这样获取的值就可以和后台程序进行交互

 

 

如何使用?


1.要有一个普通的div。。。
<div id="feng"></div>

2.链接javascript和css
    <script type="text/javascript" src="javascripts/jquery-1.3.2.min.js"></script>
    <script type="text/javascript" src="javascripts/jquery.datepick.min.js"></script>
    <script type="text/javascript" src="javascripts/jquery.covertape.js"></script>
 

<style type="text/css">
@import "css/redmond.datepick.css";

@import "css/blue.covertape.css";
</style>
 
3.可以获取日期范围的数据。。。项目传入的参数如下
var defaults = {
			startdate :new Date(),//开始日期
			enddate :new Date(),//结束日期
			format :"mm/dd/yyyy",
			onApply : function(value, date) {
			}
		}

 

使用者可以自定义参数。。代码如下
$("#feng").datecontrol(
      {format:"yyyy-mm-dd", //日期格式。。。支持多种格式
        startdate:new Date("2009","9","01"),//开始日期
        enddate:new Date("2009","10","01"),//结束日期
       onApply : function(value, date){ //函数。。通过函数获取日期的值
        alert("Array Value="+value);//value是格式化日期的字符串(数组0开始日期,1结束日期)
        alert("Array Date="+date);//date是日期类型(同上)
      }
      });  
 

Q&A

 

Q:时间范围选择为什么要用另一个时间选择控件?

A:因为没必要重复造轮子。。。现有的时间选择控件已经非常牛逼了。。

 

Q:现有版本可以使用么

 

A:不建议使用,本作者会继续更新,修改BUG。

 

Q:不能使用为啥公开。

A:提出一个想法,希望大家开发更好的这种东西。。而不是仅仅去使用。。

Q:会有教程开放么

A:本人代码很烂。。但会提供一个思路。

Q:说了那么多废话,代码在哪下载.





  • 大小: 3.2 KB
  • 大小: 10.2 KB
  • 大小: 10.6 KB
  • 大小: 13.2 KB
  • 大小: 10.5 KB
  • 大小: 44.4 KB
  • 大小: 48.3 KB
  • 大小: 57.7 KB
   发表时间:2009-11-22  
没看懂,怎么用,有什么用
0 请登录后投票
   发表时间:2009-11-23  
http://www.filamentgroup.com/lab/date_range_picker_using_jquery_ui_16_and_jquery_ui_css_framework/

这里有个类似的,日期范围选择+datepicker
1 请登录后投票
   发表时间:2009-11-23  
calendar_date_select,这个插件也好用
0 请登录后投票
   发表时间:2009-11-23  
纯粹是一个标题党.....鄙视.................
0 请登录后投票
   发表时间:2009-11-23   最后修改:2009-11-23
赞一个
首先lz发帖的格式很规范 看的人很舒服
其次内容也不错

当然我不能控制其他说不好的人的语言功能

好了 希望lz好心情 再接再厉
4 请登录后投票
   发表时间:2009-11-23  

此组件的适用范围如下:

1.日期范围的查询报表。

2.可以作为表单提交。

 

 

 现有版本更新为0.3

版本更新信息如下:

0.2v:

 1.增加国际化功能
 2.增加隐藏表单方便提交
 3.修复CSS下拉菜单位置的BUG

 

03v:

 1.增加自定义排序

 2.增加日期的选中

 3.代码的重构

 

 

 

具体例子看上传的附件。

 

 $("#feng").datecontrol( //选中一个div
      {format:"yyyy-mm-dd",//自定义日期格式。
      startdate:new Date("2009","09","01"),enddate:new Date("2009","09","29"),//初始化日期范围。默认为1
        word:{
    	    define:"define range",
			today:"today",
			yestoday:"yestoday",
			lastweek:"last week",
			month:"this month",
			lastmonth:"last month",
			apply:"Apply"
      },//自定义控件文字描述。方便国际化的朋友
      dateDisplay : [ 'define', 'month',
  					'lastmonth','yestoday','today','lastweek'],//显示日期的种类和顺序
       onApply : function(value, date){
        alert("Array Value="+value);
        alert("Array Date="+date);
      }//应用方法,方便获取日期范围的字符串和日期类型的数组。
      });

 

详细例子 请看附件。

 

 

 

 

  • 大小: 30.9 KB
0 请登录后投票
   发表时间:2009-11-23  
关于实际使用DEMO已更新。。
0 请登录后投票
   发表时间:2009-11-23   最后修改:2009-11-23
干的不错,一直以来都是使用My97,完整的日期时间选择,做的足够细致。虽然目前楼主的我认为比My97还差些~,不过期待楼主能超越它~
0 请登录后投票
   发表时间:2009-11-24  
建议能支持双输入框及单个时间选择
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics