由于工作需要,项目中使用了Bootstrap日期/日历插件Datepicker,根据需求需要在其中添加日期标记,实现效果图如下:

特此记录此次解决方案:

1.首先分析了功能的DOM元素(如下图),可以看到椭圆形标记的,说明此日期控件分为三个层,第一个是显示日,

   第二个显示的是月份,第三个显示的是年份

2.我的做法是将日期显示的地方放置一个addr属性作为当前选择年月的标记,不论是日点击事件,前后月份切换,还是月份或年份点击事件,

都需要改变此属性的值。

3.然后修改月份前后切换事件,修改日期点击事件(此事件包括选择月份),修改前后月份切换事件,下面列举的是日期点击事件。

$('#zhixingdate').datepicker().on('changeDate', function(ev){  //日期改变事件
        var dmonth=ev.date                   //当前选中日期
        getOrderlyPowerDays(dmonth);              //日期点击事件执行时进行其他操作(加标记)
});

4.加标记,也就是上面的getOrderlyPowerDays()方法,此方法中,将获取所有的显示日的td标签+addr属性的年月拼接起来和方法中查询到

的日期做比较,如果是相同日期,则添加标志(添加remark样式)

 function showRemark(days){
var datepicker=$('#zhixingdate').parent();
var Mdateswitch=datepicker.find(".datepicker .datepicker-days .table-condensed thead .switch"); //日日历里的当前月份元素
var UIDays=datepicker.find(".datepicker .datepicker-days .table-condensed tbody tr td.day"); //显示日层中所有的td元素
UIDays.removeClass("remark"); //移除所有的标志
var dmonths=Mdateswitch.attr("addr"); //获取当前显示日层中addr属性的值 //循环td显示日元素,将显示日的值+addr属性的值,和传递过来的dasys数组结果集做比较,如果相等则加上标记样式remark
for(var i=0; i< days.length;i++){
var v = days[i];
UIDays.each(function(){
var t=$(this).html();
if(v == (dmonths+(parseInt(t,10)<10?("0"+parseInt(t,10)):parseInt(t,10)))){
if(!$(this).hasClass("remark") && !$(this).hasClass("new") && !$(this).hasClass("old")){
$(this).addClass("remark");
}
}
});
}
}
 .remark {
background: url("../img/remark.png") no-repeat scroll 0 0 transparent;
}

又遇到相同问题的童鞋可以联系我,相互讨论!^_^

Bootstrap日期/日历插件Datepicker 时间加标记的更多相关文章

  1. 一款简洁大气的jquery日期日历插件

    本jquery插件名为manhuaDate,暂时只支持jquery 1.9.0以下版本,比如jquery-1.8.3.min.js 查看效果网址:http://keleyi.com/a/bjad/em ...

  2. 2016/06/10 日历插件 Datepicker

    显示效果: <!doctype html> <html lang="en"> <head> <meta charset="utf ...

  3. jquery 日历插件datepicker格式调整

    <script> $(function() { $("#datepicker").datepicker({ dateFormat: "yy/mm/dd&quo ...

  4. 日历插件DatePicker

    Datepicker 地址:https://getuikit.com/v2/docs/datepicker.html

  5. jqueryUI之datepicker日历插件的介绍和使用

    jQuery UI很强大,其中的日期选择插件Datepicker是一个配置灵活的插件.我们可以自定义其展示方式,包括日期格式.语言.限制选择日期范围.添加相关按钮以及其它导航等.

  6. jquery插件datepicker

    jQuery UI很强大,其中的日期选择插件Datepicker是一个配置灵活的插件,我们可以自定义其展示方式,包括日期格式.语言.限制选择日期范围.添加相关按钮以及其它导航等. <script ...

  7. 日历插件js,jquery

    常用的日历插件 DatePicker My97DatePicker   文章来源:刘俊涛的博客 地址:http://www.cnblogs.com/lovebing 欢迎关注,有问题一起学习欢迎留言. ...

  8. Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结

    Bootstrap时间日历插件bootstrap-datetimepicker配置与应用小结   by:授客 QQ:1033553122 1.   测试环境 win7 JQuery-3.2.1.min ...

  9. Jquery datepicker 时间插件使用 js 时间相加,相减

    $(document).ready(function(){ //输入框事件 $('#probation').bind('input propertychange', function() { var ...

随机推荐

  1. Python学习笔记(二)在线用pip下载第三方包

    根据他人的博客,可以发现pip也是可以离线安装已经下载好的包的,具体请参考<pip常用命令>.由于现在还没进展到那个程度,所以本次博客先记录一下我已经学会的东西. 1.pip基本用法 (1 ...

  2. 记录-JQuery日历插件My97DatePicker日期范围限制

    对于日期控件,有时会有不能选择今天以前的日期这种需求..... My97DatePicker是一个非常优秀的日历插件,不仅支持多种调用模式,还支持日期范围限制. 常规的调用比较简单,如下所示: 1 & ...

  3. 九度OJ 1000:计算a+b

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:35767 解决:15660 题目描述: 求整数a,b的和. 输入: 测试案例有多行,每行为a,b的值. 输出: 输出多行,对应a+b的结果. ...

  4. 为system对象添加扩展方法

    ////扩展方法类:必须为非嵌套,非泛型的静态类 public static class DatetimeEx { //通过this声明扩展的类,这里给DateTime类扩展一个Show方法,只有一个 ...

  5. C# Interactive Shell

    C# Pad 有点像VisualStudio中的ImmediateWindow,程序运行中的一些变量都保存着,可以直接从命令行访问,方便执行一些code来进行测试或debug. 上图中右边每一个小时钟 ...

  6. linux 字符驱动

    1 结构体说明:     struct cdev {         struct kobject kobj;          // 每一个 cdev 都是一个 kobject         st ...

  7. go语言之接口一

    在Go语言中,一个类只需要实现了接口要求的所有函数,我们就说这个类实现了该接口 我们定义了一个File类,并实现有Read().Write().Seek().Close()等方法.设 想我们有如下接口 ...

  8. Excel控制IE

    ---恢复内容开始--- 1.初始化and连接http网页 Set ie = CreateObject("InternetExplorer.Application") ie.Vis ...

  9. 奥森图标和CSS特殊字体使用方法

    作为第一篇博文,写这个 我快要被气炸,好吧,废话不说了 昨天在项目中发现有很多这些Awesome图标 也在网上找了下Font Awesome下载后这些文件,现在的版本是4.2,Font Awesome ...

  10. linux FAQ(zz)

    1.Which is the command used to find the available shells in your Operating System Linux ? Ans : $ech ...