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. db2 sequence 查询

    1. 查询名字 select * from sysibm.sysequences where seqname='wx_Id' 2.nextVal select wx_seq_id.currval fr ...

  2. jsp中的动作标签

    和html标签一样,使用尖括号'<>'包裹起来. 用于在jsp页面中处理业务逻辑,避免在jsp中过多的使用java脚本. <jsp:forward>用于请求转发,它与Reque ...

  3. Java实现非递归删除目录

    最近在学C#的文件系统, 发现C#的文件系统貌似比java的东西少一点, 居然连删除目录都直接做好封装了, 想到学java的时候还要自己写递归删除, 好像没写过非递归的,就在网上查了下, 关于非递归删 ...

  4. 打印时鼠标键盘移动的div创建

    function createDiv(id, label, offset_left, offset_top) { $("body").append($("<div& ...

  5. nodejs npm常用命令 转

    npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准.有了npm,可以很快的找到特定服务要使用的包,进行下载.安装以及管理已经安装的包. 1.npm install m ...

  6. 利用shell实现批量添加用户

    批量添加用户并设置随机密码,把添加的用户的名字和密码保存到文件中. [root@lamp scripts]# cat user.sh #!/bin/sh ` do pass=$(-) //取随机数的方 ...

  7. 深入React组件生命周期

    上篇博文使用React开发的一些注意要点对React开发的一些重点进行了简单的罗列总结,虽然也提到了React生命周期,但只略微小结,在此单独写篇React生命周期的总结. 在组件的整个生命周期中,随 ...

  8. javaScriptCore 实战 与 小结

      源码在这,看不懂的直接撸源码就行,转载声明出处 原生调用JS的大致流程,做了个思维简图 这是代码流程 // JS数据 func getJSVar() { let context: JSContex ...

  9. 取消a标签的页面跳转

    如果代码是:<a href="#" class="juan-btn" onclick="showResult()">提交< ...

  10. 02.PHP7.x编译详解

    #php7编译安装安装 ``` useradd -M -s /sbin/nologin www yum -y install openssl-devel bzip2-devel curl-devel ...