easyui datebox定位到某一个日期,

easyui datebox直接定位到具体的日期,

easyui datebox MoveTo方法使用

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

©Copyright 蕃薯耀 2017年5月8日

http://www.cnblogs.com/fanshuyao/

一、问题描述:

当需要在打开Datebox的时候,定位到具体某一天的日期(即日历打开的月份有那个日期,不用再翻页找)

二、解决方案

  1. <input class="f1 easyui-datebox" id="contractEndtime" name="contractEndtime" data-options="required:true,editable:false"/>
  1. $('#contractEndtime').datebox({
  2. onShowPanel : function(){
  3. $(this).datebox('calendar').calendar("moveTo", dateAdd(dateParse(contractEndtimeCurrent), 1));
  4. }
  5. });

Js处理日期的方法:

  1. /**
  2. * 日期解析,字符串转日期
  3. * @param dateString 可以为2017-02-16,2017/02/16,2017.02.16
  4. * @returns {Date} 返回对应的日期对象
  5. */
  6. function dateParse(dateString){
  7. var SEPARATOR_BAR = "-";
  8. var SEPARATOR_SLASH = "/";
  9. var SEPARATOR_DOT = ".";
  10. var dateArray;
  11. if(dateString.indexOf(SEPARATOR_BAR) > -1){
  12. dateArray = dateString.split(SEPARATOR_BAR);
  13. }else if(dateString.indexOf(SEPARATOR_SLASH) > -1){
  14. dateArray = dateString.split(SEPARATOR_SLASH);
  15. }else{
  16. dateArray = dateString.split(SEPARATOR_DOT);
  17. }
  18. return new Date(dateArray[0], dateArray[1]-1, dateArray[2]);
  19. };
  20. /**
  21. * 日期加减多少天
  22. * @param dateObj 日期对象
  23. * @param days 加减天数
  24. * @returns
  25. */
  26. function dateAdd(dateObj, days){
  27. dateObj.setDate(dateObj.getDate() + days);
  28. return dateObj;
  29. };

三、注意事项:

1、moveTo方法是calendar对象的,datebox继承中有calendar,可以使用其里面的方法,调用方式如下:

  1. $('#contractEndtime').datebox('calendar').calendar("moveTo",  dateAdd(dateParse(contractEndtimeCurrent), 1));

2、onShowPanel事件是combo对象的事件。

3、由于在项目中的datebox中设置了时间限制,不能小于某个时间,所以在定位到具体的某个日期的时候,那个日期不能是禁用的日期,因为定位到禁用的日期不起作用。

4、顺序问题,如下图所示

其中1、2的位置没有效果,3、4的位置有效果,具体原来不清楚。

最后代码优化成这样:

  1. $(function() {
  2. var contractEndtimeCurrent = $("#contractEndtimeCurrent").val();
  3. if(!isEmpty(contractEndtime)){//限制展期日期
  4. var beginDate = dateParse(contractEndtimeCurrent);
  5. $('#contractEndtime').datebox().datebox('calendar').calendar({
  6. validator: function(date){
  7. return beginDate < date;
  8. }
  9. });
  10. $('#contractEndtime').datebox({
  11. onShowPanel : function(){
  12. $(this).datebox('calendar').calendar("moveTo",  dateAdd(dateParse(contractEndtimeCurrent), 1));
  13. }
  14. });
  15. }
  16. });

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

©Copyright 蕃薯耀 2017年5月8日

http://www.cnblogs.com/fanshuyao/

easyui datebox定位到某一个日期, easyui datebox直接定位到具体的日期, easyui datebox MoveTo方法使用的更多相关文章

  1. selenium+Python(定位 单选、复选框,多层定位)

    1.定位一组元素webdriver 可以很方便的使用 findElement 方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,这时候就需要使用 findElements 方法.定位一组对象 ...

  2. 每天一个JavaScript实例-操作元素定位元素

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  3. javascript做的一个根据table中某个td的值为日期时的倒计时

    JavaScript代码: <script> window.onload = window.onload = function () { getTdValue(); } //根据传过来的天 ...

  4. C# DateTime 日期加1天 减一天 加一月 减一月 等方法

    //今天 DateTime.Now.Date.ToShortDateString(); //昨天,就是今天的日期减一 DateTime.Now.AddDays(-).ToShortDateString ...

  5. C# DateTime 日期加1天 减一天 加一月 减一月 等方法(转)

    //今天 DateTime.Now.Date.ToShortDateString(); //昨天,就是今天的日期减一 DateTime.Now.AddDays(-).ToShortDateString ...

  6. Java日期的格式String类型GMT,GST换算成日期Date种类

    请尊重他人的劳动成果.转载请注明出处:Java日期格式化之将String类型的GMT,GST日期转换成Date类型 http://blog.csdn.net/fengyuzhengfan/articl ...

  7. 【转载】Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码

    本文转载自脚本之家,源网址为:https://www.jb51.net/article/147429.htm 一.Python中日期时间模块datetime介绍 (一).datetime模块中包含如下 ...

  8. Android定位&地图&导航——基于百度地图实现的定位功能

    一.问题描述 LBS位置服务是android应用中重要的功能,应用越来越广泛,下面我们逐步学习和实现lbs相关的应用如定位.地图.导航等,首先我们看如何基于百度地图实现定位功能 二.配置环境 1.注册 ...

  9. Extjs DateTime 日期时间选择控件 (非点击日期强制选择) 支持4.0以上

    Extjs的日期控件,仅仅能支持到日期选择,对时间的选择并不完好.而网上下载的控件,都是基于Ext.form.dateField 开发.在选中日期后自己主动选择,并隐藏此选择窗体. 在经过一番改造后, ...

随机推荐

  1. (29)网络编程之TCP通信协议

    TCP通信协议特点: 1.tcp协议是基于IO流进行数据的传输,是面向链接的. 2.tcp进行数据传输的时候,数据没有大小限制的. 3.面向链接,通过三次握手的机制,保证数据的完整性,是一个可靠的协议 ...

  2. java学习笔记----java入门

    java基础 一.java语言跨平台原理 1.什么是跨平台? 跨平台就是一个软件可以在不同的操作系统中运行,但是不需要对其修改.换句话说,java语言编写的软件在不做修改的情况下就能在不同的系统平台上 ...

  3. UICollectionView 适配 iPhone 7 Plus

    UICollectionView 适配 iPhone 7 Plus 需求:在屏幕上水平放置 5 张正方形图片,每张图片的宽度相等,无缝隙排列铺满一个屏幕宽度. 看似很简单的需求.用 UICollect ...

  4. Grunt usemin

    yeoman/grunt-usemin 用来将 HTML 文件中(或者 templates/views)中没有优化的 script 和 stylesheets 替换为优化过的版本. usemin 暴露 ...

  5. shell 并发多进程同时执行

    #!/bin/bash SEND_THREAD_NUM= #设置进程数. tmp_fifofile="/tmp/$$.fifo" # 脚本运行的当前进程ID号作为文件名 mkfif ...

  6. javascript的闭包与一次重构的感受

    有没有这么一个场景,你的一个动作需要在所有异步方法执行完毕后,再进行操作?然而你对异步方法何时执行完毕感到困扰,只能在每个方法中写回调,在回调中重复劳动? 偶然的,想起了之前经理讲过的闭包的概念,偶然 ...

  7. String 类的实现(3)引用计数实现String类

    我们知道在C++中动态开辟空间时是用字符new和delete的.其中使用new test[N]方式开辟空间时实际上是开辟了(N*sizeof(test)+4)字节的空间.如图示其中保存N的值主要用于析 ...

  8. javascript执行顺序小结

    作为web开发人员,一定要对js的执行顺序,解析原理有一定了解,否则无法掌控这门小巧好用的语言 javascript是一门实现网页动态效果的语言,也是主要负责和服务端的交互,他抛弃了像java中类的束 ...

  9. 浩哥解析MyBatis源码(七)——DataSource数据源模块之托管数据源

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6675700.html 1 回顾 之前介绍的非池型与池型数据源都是MyBatis自己定义的内 ...

  10. 浅析Java中synchronized与static synchronized

    synchronized关键字 synchronized是进行同步处理而保证线程安全.在一个方法中,如果是方法内的私有变量,那个这个变量是线程安全的,但是类中的实例变量是可能会出现线程安全问题的,当多 ...