DatePicker - 基于jQuery 的日期选择控件 - 凡事预则立,ä¸?预则废

å‰?ä¸?久因为公å?¸活动需求,需è¦?一个简å?•的日期选择控件,而且时效性ä¸?是很短,所以ä¸?想去用JQuery UI那样笨é‡?的日期选择æ?’件,于是就有了今天这篇:

首先从需求角度出å?‘,我们对日期è¦?求ä¸?高,比如ä¸?è¦?求一定è¦?有明确的星期几,ä¸?è¦?求有明确的用户输入日期;但是è¦?求:

  1. 体积够å°?,速度够快

  2. 高度å?¯定制性,é…?置å?‚数完善

于是,我打算ä¸?用图片处ç?†界é?¢,采用CSS3é™?级处ç?†,å?•文件,HTML模æ?¿和CSS采用动æ€?注入的方å¼?。

完整代ç ?(16KB):jquery.DatePicker.js(未压缩),完善的é…?置å?‚数

完整DEMO地å?€:DatePicker

一个简å?•DEMO:



window.onload = function(){
	$.getScript('/Lab/DatePicker/jquery.DatePicker.js', function(){
		$('#date_picker_demo').datePicker({
			followOffset : [0, 24]
		})
		.focus();
	});
}

其实,说å°?那是相对于 JQuery UI那样的笨é‡?的æ?’件æ?¥说的,本æ?¥以为ä¸?用多少代ç ?就å?¯以æ?ž定了,没想到写ç?€写ç?€就 16KB 了。

 

共11评论

  1. é?ž常滴ä¸?错

    回å¤?

  2. 想询问下这个js文件调用对jquery有什么è¦?求么
    我引入jquery-1.7.min.js和
    jquery-1.7.js
    页é?¢报对象ä¸?支æŒ?此属性或方法

    原先使用的时间空间是jquery-ui-1.8.2.coustom.min.js
    中的Datepicker

    laoshu133 于 2013-1-4 21:50:42 回å¤?
    @marczhong
    å?Œ时引入jquery-1.7.min.js和/Lab/DatePicker/jquery.DatePicker.min.js就å?¯以用了

    回å¤?

  3. 体积ç¨?大

    回å¤?

  4. 例如默认值为2010-11,点击时默认选中这个时间

    laoshu133 于 2014-4-8 17:15:20 回å¤?
    @åˆ?始化默认值年月

    以下两ç§?方å¼?å?¯以实现默认值

    ```
    $('#picker_2').val('2012-12-12').datePicker({followOffset:[0, 24]});
    //$('#picker_2').val('2012-12-12').datePicker({followOffset:[0, 24], defaultDate:'2012-12-12'});
    ```

    回å¤?

  5. 请问怎么一进入到页é?¢就显示在div里é?¢?

    laoshu133 于 2014-9-12 15:51:14 回å¤?
    @rencai
    jQuery(function($) {
    $('#div1').datePicker();
    });
    于 2014-9-12 15:57:59 回å¤?
    @rencai
    我试了都没显示啊,
    $(function () {
    $('#div_time').datePicker();

    });
    页é?¢:
    <div id="div_time" style=" width:200px; height:50px; border:1px solid red;">

    </div>
    laoshu133 于 2014-9-12 16:03:35 回å¤?
    @rencai
    $('#DIV1').datePicker().attr('tabIndex', -1).focus()
    于 2014-9-12 16:13:02 回å¤?
    @rencai
    噢..还是è¦?focus()事件去触å?‘,谢谢ï¼?
    rencai 于 2014-9-12 16:32:47 回å¤?
    @rencai
    这样还å?¯以指定onselect的回调函数å?—?
    laoshu133 于 2014-9-12 16:38:10 回å¤?
    @rencai
    $('#DIV1').datePicker({
    onselect: function(date, altDate) { console.log(date, altDate); }
    })
    .attr('tabIndex', -1).focus()
    于 2014-9-12 17:15:04 回å¤?
    @rencai
    autoHide : false,
    //是å?¦自动éš?è—?,如果为 true,当触å?‘ document的click时,会自动éš?è—?
    这个属性设置的ä¸?是选中以å?Žè¦?ä¸?è¦?éš?è—?控件的å?—?为什么我设置了false还是会éš?è—??我怎么让这个控件选中以å?Žä¸?è¦?éš?è—?
    laoshu133 于 2014-9-12 21:22:34 回å¤?
    @rencai
    这个需求在之å‰?开å?‘期间未考虑,è¦?求ä¸?严的è¯?å?¯以按如下方å¼?处ç?†:
    var showTimer;
    $('#picker_1').datePicker({
    onselect: function() {
    var self = this;

    clearTimeout(showTimer);
    showTimer = setTimeout(function(){
    self.show();
    }, 0);
    }
    });
    laoshu133 于 2014-10-10 10:49:44 回å¤?
    @rencai
    此问题已修å¤?,请更新使用;添加é…?置 `autoHide:false` ,å?‚考demo 2
    于 2014-10-11 14:15:36 回å¤?
    @laoshu133
    é?ž常感谢ï¼?

    回å¤?

  6. 如果å?Œ时有两个日期控件,选中一个,å†?选中一个。两个日期控件都还存在。怎么去掉第一个控件

    laoshu133 于 2014-10-10 10:59:09 回å¤?
    @jk23it
    这个是BUG,现已修å¤?,请更新代ç ?使用
    jk23it 于 2014-10-10 11:23:46 回å¤?
    é?ž常感谢ï¼?顺便一æ??,用此控件过程中å?‘现IE6和ç?«ç‹?样å¼?会有问题,我自己修改了样å¼?,å?¯以兼容IE,ç?«ç‹?和谷歌。有需è¦?的å?¯以和我说一下,大家å?¯以交æµ?下。邮箱:1459275614@QQ.com

    回å¤?

  7. 这个æ?’件放到input上 会影å“?input的blur事件 input的blur事件在选完日期å?Ž没å??应 需è¦?二次点击input bluræ‰?有效果

    jk23it 于 2015-1-21 21:54:54 回å¤?
    @mou
    确实是这样å­?的,最好是选中å?Ž能focus到原input框,ä¸?过ä¸?懂得怎么写
    laoshu133 于 2015-1-22 11:02:15 回å¤?
    @mou
    此问题已修正,目å‰?此项目已è¿?移至 github: https://github.com/laoshu133/DatePicker,欢迎 issue, star ;
    近期还会放出第二版,功能强大,且支æŒ?时间选择

    回å¤?

  8. 控件很棒。å?ª是在jquery的弹出窗å?£中使用时,datepicker会显示在弹出window的å?Žé?¢,被windowé?®挡ä½?,请问该如何解决。

    laoshu133 于 2015-10-1 0:32:55 回å¤?
    @sunnydeng
    建议自己通过CSS设置一个较高的 z-index ; 例如: .date_picker{ z-index: 999; }

    回å¤?

  9. DatePicker实在是太好用了,
    如何用CSS在整站å?Œ一页é?¢中调用呀,太多了一个个写代ç ?工作é‡?太大了,谢谢?
    $('input.picker_1').datePicker({followOffset : [0, 24]});这样写ä¸?行

    input type="text" name="" id="picker_1" class="picker_1"
    input type="text" name="" id="picker_22" class="picker_1"

    回å¤?

  10. 如何用一个CSS整站调用,给点æ??示å?§

    回å¤?

  11. 等ç?€用呢,大大,或ç?€有ç»?验的朋å?‹给点æ??示å?§,谢谢

    回å¤?

å?‘表评论

最新评论å?Š回å¤?

    loading

最近å?‘表

    loading

网站分类

    loading

文章归档

    loading

å?‹情链接

Top Comments Footer