easyUI自带的时间插件日期选择、月份选择、时间选择的使用(转)
1.日期选择
只要将class设置成easyui-datebox就可以了,当然前提是已经应用了easyui的js
- <input type="text" class="easyui-datebox" id="datetime">

<input type="text" class="easyui-datebox" id="datetime">
2.时间选择
默认的时间选择是精确到年月日时分秒的,只要把class设置成easyui-datetimebox就可以实现
- <input type="text" id="datetime1" class="easyui-datetimebox">

<input type="text" id="datetime1" class="easyui-datetimebox">
- </pre><p>当然他的效果图是这样的:</p><p> <img src="http://img.blog.csdn.net/20160328112415185?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></p><p>所以如果需要自定义他的显示格式的话我们需要自己重写他的format方法:(注意下面红色部分需要加进去)</p><p><pre name="code" class="html"><input type="text" id="datetime" <span style="color:#ff0000;">data-options="<strong>formatter:ww3,parser:w3</strong>"</span> class="easyui-datetimebox">

</pre><p>当然他的效果图是这样的:</p><p> <img src="http://img.blog.csdn.net/20160328112415185?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" /></p><p>所以如果需要自定义他的显示格式的话我们需要自己重写他的format方法:(注意下面红色部分需要加进去)</p><p><pre name="code" class="html"><input type="text" id="datetime" <span style="color:#ff0000;">data-options="<strong>formatter:ww3,parser:w3</strong>"</span> class="easyui-datetimebox">
- <script type="text/javascript">
- function ww3(date){
- var y = date.getFullYear();
- var m = date.getMonth()+1;
- var d = date.getDate();
- var h = date.getHours();
- var str = y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d)+':'+(h<10?('0'+h):h);
- return str;
- }
- function w3(s){
- if (!s) return new Date();
- var y = s.substring(0,4);
- var m =s.substring(5,7);
- var d = s.substring(8,10);
- var h = s.substring(11,14);
- var min = s.substring(15,17);
- var sec = s.substring(18,20);
- if (!isNaN(y) && !isNaN(m) && !isNaN(d) && !isNaN(h) && !isNaN(min) && !isNaN(sec)){
- return new Date(y,m-1,d,h,min,sec);
- } else {
- return new Date();
- }
- }
- </script>

<script type="text/javascript">
function ww3(date){
var y = date.getFullYear();
var m = date.getMonth()+1;
var d = date.getDate();
var h = date.getHours();
var str = y+'-'+(m<10?('0'+m):m)+'-'+(d<10?('0'+d):d)+':'+(h<10?('0'+h):h);
return str;
}
function w3(s){
if (!s) return new Date();
var y = s.substring(0,4);
var m =s.substring(5,7);
var d = s.substring(8,10);
var h = s.substring(11,14);
var min = s.substring(15,17);
var sec = s.substring(18,20);
if (!isNaN(y) && !isNaN(m) && !isNaN(d) && !isNaN(h) && !isNaN(min) && !isNaN(sec)){
return new Date(y,m-1,d,h,min,sec);
} else {
return new Date();
}
}
</script>
上面代码是将显示格式变成:yyyy-mm-dd HH.也可以根据自己的需要修改上面的代码,比如你要精确到分或者秒,都可以的。下面是效果图:
3.月份选择
easyui自带的是没有月份选择的panel的,所以我们需要修改一下源代码:
- <input type="text" id="datetime" >

<input type="text" id="datetime" >
然后在js中:
- <script type="text/javascript">
- $(function() {
- $('#datetime1').datebox({
- onShowPanel : function() {// 显示日趋选择对象后再触发弹出月份层的事件,初始化时没有生成月份层
- span.trigger('click'); // 触发click事件弹出月份层
- if (!tds)
- setTimeout(function() {// 延时触发获取月份对象,因为上面的事件触发和对象生成有时间间隔
- tds = p.find('div.calendar-menu-month-inner td');
- tds.click(function(e) {
- e.stopPropagation(); // 禁止冒泡执行easyui给月份绑定的事件
- var year = /\d{4}/.exec(span.html())[0]// 得到年份
- , month = parseInt($(this).attr('abbr'), 10) + 1; // 月份
- $('#datetime1').datebox('hidePanel')// 隐藏日期对象
- .datebox('setValue', year + '-' + month); // 设置日期的值
- });
- }, 0);
- },
- parser : function(s) {// 配置parser,返回选择的日期
- if (!s)
- return new Date();
- var arr = s.split('-');
- return new Date(parseInt(arr[0], 10), parseInt(arr[1], 10) - 1, 1);
- },
- formatter : function(d) {
- var month = d.getMonth();
- if(month<=10){
- month = "0"+month;
- }
- if (d.getMonth() == 0) {
- return d.getFullYear()-1 + '-' + 12;
- } else {
- return d.getFullYear() + '-' + month;
- }
- }// 配置formatter,只返回年月
- });
- var p = $('#datetime1').datebox('panel'), // 日期选择对象
- tds = false, // 日期选择对象中月份
- span = p.find('span.calendar-text'); // 显示月份层的触发控件
- });
- </script>

<script type="text/javascript">
$(function() {
$('#datetime1').datebox({
onShowPanel : function() {// 显示日趋选择对象后再触发弹出月份层的事件,初始化时没有生成月份层
span.trigger('click'); // 触发click事件弹出月份层
if (!tds)
setTimeout(function() {// 延时触发获取月份对象,因为上面的事件触发和对象生成有时间间隔
tds = p.find('div.calendar-menu-month-inner td');
tds.click(function(e) {
e.stopPropagation(); // 禁止冒泡执行easyui给月份绑定的事件
var year = /\d{4}/.exec(span.html())[0]// 得到年份
, month = parseInt($(this).attr('abbr'), 10) + 1; // 月份
$('#datetime1').datebox('hidePanel')// 隐藏日期对象
.datebox('setValue', year + '-' + month); // 设置日期的值
});
}, 0);
},
parser : function(s) {// 配置parser,返回选择的日期
if (!s)
return new Date();
var arr = s.split('-');
return new Date(parseInt(arr[0], 10), parseInt(arr[1], 10) - 1, 1);
},
formatter : function(d) {
var month = d.getMonth();
if(month<=10){
month = "0"+month;
}
if (d.getMonth() == 0) {
return d.getFullYear()-1 + '-' + 12;
} else {
return d.getFullYear() + '-' + month;
}
}// 配置formatter,只返回年月
});
var p = $('#datetime1').datebox('panel'), // 日期选择对象
tds = false, // 日期选择对象中月份
span = p.find('span.calendar-text'); // 显示月份层的触发控件});
</script>
最后的效果如下图:
easyUI自带的时间插件日期选择、月份选择、时间选择的使用(转)的更多相关文章
- 简洁JS 日历控件 支持日期和月份选择
原文出处 以下这个JS日历控件是我的闲暇之余自己编写的,所有的代码全部在IE7/IE8/Firefox下面测试通过, 而且可以解决被iframe层遮盖的问题.现在只提供两种风格(简洁版和古典版)和两种 ...
- 原生js日期时间插件鼠标点击文本框弹出日期时间表格选择日期时间
原文出处 (这是我从互联网上搜来的,感觉能满足各方面的需求.个人感觉挺不错的,所以后期修改了一下向大家推荐!) 效果图: html代码: <!DOCTYPE html PUBLIC " ...
- 1、用datetimepicker插件实现限定时间范围的选择 2、时间插件实现默认当天的时间和只能选择小于今天的日期
一.用datetimepicker插件实现限定时间范围的选择 1.下面是要实现的效果图,让开始时间只能从 2018-7-1 到 2018-7-7 选择. 2.html的结构 <div cla ...
- jQuery DateTimePicker 日期和时间插件
jQuery UI很强大,其中的日期选择插件Datepicker是一个配置灵活的插件,我们可以自定义其展示方式,包括日期格式.语言.限制选择日期范围.添加相关按钮以及其它导航等. 日期选择插件是一个配 ...
- Date Range Picker时间插件非常不错,主要体现在选择一个时间区间
地址:http://www.daterangepicker.com/ demo地址:http://tamble.github.io/jquery-ui-daterangepicker/#event a ...
- jquery仿ios日期时间插件
Demo下载: 手机时间控件.zip 使用之前,请在页面中加入以下js和css: jquery-1.9.1.js mobiscroll.core-2.5.2.js mobiscroll.core-2. ...
- 【Bootstrap】bootstrap-datetimepicker日期时间插件
[bootstrap-datetimepicker] datetimepicker是一个比较方便的日期时间插件.有了这个之后,我们可以在类似于表单的地方提供一个友好的日期(时间)输入功能.官方文档:[ ...
- vue使用日期时间插件layDate
项目中需要用到日期时间插件,尝试用bootstrap.element的时间插件都各有各的报错,对于一个菜鸟来说真的是很痛苦啊.终于,最后用了layDate实现了需要的功能 最终效果: 使用步骤: 1. ...
- Ionic 日期时间插件
1.插件安装 日期插件 时间插件 备注: 具体 查看 https://github.com/rajeshwarpatlolla/ionic-datepicker https://github.c ...
随机推荐
- 【JS小技巧】JavaScript 函数用作对象的隐藏问题
用户反馈 @消失的键盘 在论坛反馈了一个问题,在 AppBoxMvc 中的 Title 模型中,如果将 Name 属性改名为小写的 name 属性,就会报错: 因为这是一个 ASP.NET MVC 的 ...
- HDU 1814 Peaceful Commission / HIT 1917 Peaceful Commission /CJOJ 1288 和平委员会(2-sat模板题)
HDU 1814 Peaceful Commission / HIT 1917 Peaceful Commission /CJOJ 1288 和平委员会(2-sat模板题) Description T ...
- docker - 修改镜像/容器文件的在宿主机上的存储位置(转)
背景 之前在使用docker的时候,由于启动container的时候用的是默认的mount(路径为 /var/lib/docker),这个目录对应的硬盘空间有限,只有200G左右.现在随着程序运行,有 ...
- Work 2(演讲类) (2017.06.29)
- TensorFlow conv2d实现卷积
tf.nn.conv2d是TensorFlow里面实现卷积的函数,参考文档对它的介绍并不是很详细,实际上这是搭建卷积神经网络比较核心的一个方法,非常重要 tf.nn.conv2d(input, fil ...
- maven:pom.xml中没有dependency标签错误
dependency的标签是包含在dependencies中的.
- opencv+python3.4的人脸识别----2017-7-19
opencv3.1 + python3.4 第一回合(抄代码,可实现):人脸识别涉及一个级联表,目前能力还无法理解. 流程:1.读取图像---2.转换为灰度图---3.创建级联表---4.对灰度图 ...
- VMware workstation批量创建虚拟机和自动化安装操作系统(一)
一. 简述 作为从事IT行业运维工作的Linuxer,大多情况下需要在测试环境中部署业务系统并进行测试,在没有足够的计算存储网络条件下,使用虚拟机进行虚拟集群的创建和使用,是一种不错的学习和实践方式. ...
- link 和 @important 的区别
页面中使用CSS的方式主要有3种:行内添加定义style属性值,页面头部内嵌调用和外面链接调用,其中外面引用有两种:link和@import.外部引用CSS两种方式link和@import的方式分别是 ...
- 相对路径&绝对路径
粗浅理解: 1)绝对路径:带有访问协议的路径,就是带上http访问协议 2)相对路径: ①以带斜杠开头的相对路径: A)前台相对路径:以web服务器的根路径为参照路径,比如在jsp.HTML中写的路径 ...