修复bootstrap daterangepicker中的3个问题

最近项目中使用了一个基于Bootstrap的daterangepicker控件。

1.点击页面其他空白的地方,会把之前在日历上选中的日期选择上。

具体描述:

1.点击打开日期选择框

2.选择一个日期范围,用户没有点击“Apply”按钮,然后点击页面其他空白区域,控件会把选择的日期赋值到文本框中去。

这个需求估计在国外属于正常的情况。但是国内的用户习惯是:点击其他空白地方,应该是和点击“取消”按钮相同的作用。所以看了一下源代码。在outsideClick方法里面,作者直接调用了hide()方法,这个方法正好做了将选中的日期范围赋值给文本框。修改代码行数在Line616,问题可以解决。

outsideClick: function (e) {
            var target = $(e.target);
            // if the page is clicked anywhere except within the daterangerpicker/button
            // itself then call this.hide()
            if (
                target.closest(this.element).length ||
                target.closest(this.container).length ||
                target.closest(‘.calendar-date‘).length
                ) return;
            //this.hide();//注释代码
    //添加的代码,这里只是隐藏显示,不做任何赋值操作
            this.element.removeClass(‘active‘);
            this.container.hide();
            this.element.trigger(‘hide.daterangepicker‘, this);
        },

 

2.Bootstrap daterangepicker在BootStrap Modal里面无效。

问题描述:

1.在Bootstrap Modal对话里面打开daterangepicker出现如下界面

2.选择一个日期,点击“Apply”按钮,发现选中的日期不能赋值到文本框中。这里是因为我复制modal代码时,modal代码上面有一个tabindex=”-1”,将这个属性删除,就能正常运行。

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">

3.在IE中,已经移除了tabindex=”-1”,代码已经不能运行正常。选中不了已经选择的时间范围。

需要继续修改代码:

outsideClick: function (e) {
            var target = $(e.target);
            // if the page is clicked anywhere except within the daterangerpicker/button
            // itself then call this.hide()
            if (
                 e.type == "focusin"||
                target.closest(this.element).length ||
                target.closest(this.container).length ||
                target.closest(‘.calendar-date‘).length
                ) return;
            //this.hide();
            this.element.removeClass(‘active‘);
            this.container.hide();
            this.element.trigger(‘hide.daterangepicker‘, this);
        },

参考网址:

1.GitHub地址 https://github.com/dangrossman/bootstrap-daterangepicker

2.Demo地址: http://www.dangrossman.info/2012/08/20/a-date-range-picker-for-twitter-bootstrap/

时间: 2024-11-05 20:14:12

修复bootstrap daterangepicker中的3个问题的相关文章

修复bootstrap validate重复提交的bug

前言:[修复bootstrap validate重复提交的bug],项目是基于bootstrap和jfinal开发的,这个过程的确很痛苦,但也伴随着很多收获,就如同本文一样,之前尝试用了bootstrap的validate来验证表单数据,确实很不错,然而这中间也夹带着不经意的bug,很隐蔽. bug调查 调查结果: 1. 当不使用bootstrap validate时,就不会出现如图提示问题. 2. 只有首次点击提交,会重复提交两次,而接下来重新输入用户名后,就单次提交了. bug发生环境 <f

使用Bootstrap.css 中IE下页面加载过慢问题

问题描述: Web中引入bootstrap.css中头部有访问Google服务器的请求 @import url("//fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700"); 国内访问不稳定,页面反应慢 解决:将请求结果保存下来,放到本地,重新声明请求 1.请求http://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,4

IE11下,CKEditor在Bootstrap Modal中的下拉问题

原问题解决方案链接:http://ckeditor.com/forums/CKEditor/Editor-Dropdowns-dont-work-in-IE11 最近在项目中需要在Bootstrap Modal弹出框中载入CKEditor. 初始化CKEditor以后,在IE11下,格式/字体/颜色的下拉会闪现一下后就消失,但在chrome和firefox下没问题. Google了以后终于找到解决方法. 以下代码添加了$(e.target.parentNode).hasClass('cke_co

在Bootstrap开发框架中使用dataTable直接录入表格行数据(2)--- 控件数据源绑定

在前面随笔<在Bootstrap开发框架中使用dataTable直接录入表格行数据>中介绍了在Web页面中使用Jquery DataTable插件进行对数据直接录入操作,这种处理能够给用户提供较好的数据录入体验,本篇继续上篇的内容,继续介绍这个直接录入的处理操作,主要涉及到控件的初始化和数据源的绑定等操作内容,随着对这个处理的深入了解,我发现可以控制的内容也更加丰富,能够更好的实现各种所需的效果. 1.直接录入数据的界面分析 在之前介绍的数据直接录入处理的时候,界面效果如下所示. 上面的界面处

解决 select2在bootstrap modal中不能正常使用问题

select2在bootstrap modal中不能正常使用问题 设置CSS .select2-drop { z-index: 10050 !important; } .select2-search-choice-close { margin-top: 0 !important; right: 2px !important; min-height: 10px; } .select2-search-choice-close:before { color: black !important; } /

MVC4 使用 bootstrap daterangepicker

1. 安装地址https://github.com/dangrossman/bootstrap-daterangepicker 2. 把以下js文件放入 Scripts 中daterangepicker.jsmoment.js moment.min.js 3. 把以下CSS放入Content下daterangepicker-bs3.cssdaterangepicker-bs2.css 4.View 注意bootstrap 版本,可能会出现不兼容的问题 @using Microsoft.Web.M

关于【bootstrap】中,【tooltip】的不算bug的bug的个人看法

先说下遇到这个问题的背景吧. 就是在页面中有个div,这个div右上角(或者其他位置)有个 × 的图标(这个图标添加tooltip工具提示),光标移到这个图标时,触发tooltip,提示“点击移除”这样类似的字样,然后点击后,把这个div作remove()这样的删除操作. 然后,问题来了,因为这个div被remove()了,导致生成的tooltip对应的 × 图标也被remove(),因为找不到,所以对应的mouseout(可能是mouseleave事件,参考了一下bootstrap的源码,没找

bootstrap框架中data-toggle=&quot;tab&quot;属性会取消a标签默认行为

这几天做公司项目用了bootstrap框架,在用导航组件的过程中,我发现在a标签里面添加data-toggle="tab"属性之后,这个a标签会失去默认行为,点击a标签的时候不会跳转,即使有href属性,但是它不管用.So,如果想要实现它导航栏的效果,又要能够让链接有效,只能去掉data-toggle="tab"属性.但是动态切换导航按钮的active属性就实现不了,但是实现了跳转,active属性还有什么用呢?就算有也看不到(小记)

修复redhat6.4中的grub文件

问题描述:因机房异常掉电,导致在华为RH5885服务器上装有redhat6.4的操作系统不能正常进入系统,启动后直接进入grub界面.现将恢复步骤整理如下. 1.  拔掉该服务器后面的光纤线. 2.  放入redhat6.4安装光盘到服务器中. 3.  重启服务器并设置从光盘启动.(在启动的过程中根据提示信息按F2或DEL键进入BIOS,找到BOOT菜单下的启动项设置类似boot option1#这样的信息,选择从光盘启动.按F4保存退出) 4.  进入redhat6.4安装界面,选择rescu