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 ...
随机推荐
- layui中使用autocomplete.js
前言 在网站找了一大圈都是问题没有答案,记录记录谨防踩坑 layui版本:layui-v1.0.9_rls a(https://github.com/devbridge/jQuery-Autocomp ...
- 发博客用的一些HTML
这个世界,在发生什么? 移动光标 <p style="background: #999999; padding: 5px; font-size: 22px;">< ...
- bzoj2002: [Hnoi2010]Bounce 弹飞绵羊 [分块][LCT]
Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置 ...
- ES6正则表达式扩展
前面的话 正则表达式是javascript操作字符串的一个重要组成部分,但在以往的版本中并未有太多改变.然而,在ES6中,随着字符串操作的变更, ES6也对正则表达式进行了一些更新.本文将详细介绍ES ...
- (转)Linux下安装firefox最新版
为了方便在linux服务器上面进行web调试,安装火狐浏览器 1下载 首先去火狐主页,中文是http://www.firefox.com.cn/,点击"免费下载" 2 解压并创建快 ...
- unrecognized font family "iconfont2"
起因:使用React Native开发App,需要使用自定义字体iconfont2.ttf,要在xCode中引入该字体 步骤:将字体文件拷贝到项目工程中,在Info.plist文件中添加Fonts p ...
- HDFS笔记——技术点汇总
目录 · 概况 · 原理 · HDFS 架构 · 块 · NameNode · SecondaryNameNode · fsimage与edits合并 · DataNode · 数据读写 · 容错机制 ...
- Android学习笔记-EditText(输入框)(一)
1.设置默认提示文本 默认提示文本的两个属性如下: android:hint="默认提示文本" android:textColorHint="#95A1AA" ...
- Nlpir Parser灵玖文本语义挖掘系统数据采集
在计算机广泛应用的今天,数据采集的重要性是十分显著的.它是计算机与外部物理世界连接的桥梁.各种类型信号采集的难易程度差别很大. 灵玖软件Nlpir Parser文本语义挖掘系统以分词技术为基础,集成了 ...
- Python处理csv文件
Python处理csv文件 CSV(Comma-Separated Values)即逗号分隔值,可以用Excel打开查看.由于是纯文本,任何编辑器也都可打开.与Excel文件不同,CSV文件中: 值没 ...