bootstrap中daterangepicker组件的使用(一)

    这段时间接了一个需求,需要实现打开一个日期控件,需要选择一个日期范围:

需求是这样:

如上图所示,点击上一周期,弹出上图的一个日期控件,默认是一个范围,并且这个范围的开始日期和结束日期和长度都要根据外界的两个条件进行动态变化.

我引入了bootstrap中的一个daterangepicker组件来实现这个功能,首先我写了一个demo,如下:

一.Demo如下:

首先我的项目结构如下所示:

首先来看daterangerpicker01.html 这个页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>daterangerpicker小demo</title>
    <link rel="stylesheet" href="css/bootstrap.min.css">
    <link rel="stylesheet" href="css/daterangepicker.css">
    <script src="js/jquery-2.2.3.min.js"></script>
    <script src="js/moment.js"></script>
    <script src="js/daterangepicker.js"></script>
    <script type="text/javascript">

        $(function () {
            //单个时间插件
            $("input[name='date1']").daterangepicker(
                {
                    singleDatePicker: true,//设置为单个的datepicker,而不是有区间的datepicker 默认false
                    showDropdowns: true,//当设置值为true的时候,允许年份和月份通过下拉框的形式选择 默认false
                    autoUpdateInput: false,//1.当设置为false的时候,不给与默认值(当前时间)2.选择时间时,失去鼠标焦点,不会给与默认值 默认true
                    timePicker24Hour : true,//设置小时为24小时制 默认false
                    timePicker : false,//可选中时分 默认false
                    locale: {
                        format: "YYYY-MM-DD",
                        separator: " - ",
                        daysOfWeek: ["日","一","二","三","四","五","六"],
                        monthNames: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]
                    }

                }
            ).on('cancel.daterangepicker', function(ev, picker) {
                $("#date1").val("请选择日期");
                $("#submitDate").val("");
            }).on('apply.daterangepicker', function(ev, picker) {
                $("#submitDate").val(picker.startDate.format('YYYY-MM-DD'));
                $("#date1").val(picker.startDate.format('YYYY-MM-DD'));
            });

            //区间时间插件
            $("input[name='date2']").daterangepicker(
                {
                    // autoApply: true,
                    autoUpdateInput: false,
                    // alwaysShowCalendars: true,
                    ranges: {
                        '今天': [moment(),moment()],
                        '昨天': [moment().subtract(1, 'days'),moment().subtract(1, 'days')],
                        '近7天': [moment().subtract(7, 'days'), moment()],
                        '这个月': [moment().startOf('month'), moment().endOf('month')],
                        '上个月': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
                    },
                    locale: {
                        format: "YYYY/MM/DD HH:MM:SS",
                        separator: " - ",
                        applyLabel: "确认",
                        cancelLabel: "清空",
                        fromLabel: "开始时间",
                        toLabel: "结束时间",
                        customRangeLabel: "自定义",
                        daysOfWeek: ["日","一","二","三","四","五","六"],
                        monthNames: ["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"]
                    }
                }
            ).on('cancel.daterangepicker', function(ev, picker) {
                $("#date2").val("请选择日期范围");
                $("#startTime").val("");
                $("#endTime").val("");
            }).on('apply.daterangepicker', function(ev, picker) {
                $("#startTime").val(picker.startDate.format('YYYY-MM-DD'));
                $("#endTime").val(picker.endDate.format('YYYY-MM-DD'));
                $("#date2").val(picker.startDate.format('YYYY-MM-DD')+" 至 "+picker.endDate.format('YYYY-MM-DD'));
            });

        });
    </script>
</head>
<body>
    <div>
        我是一个DateRangePicker的小练习
    </div>
    <div class="form-group">
        <label>单个</label>
        <div>
            <input type="text" name="date1" id="date1" class="form-control" style="width: 20%;">
            <input type="hidden" id = "submitDate" name="submitDate" class="form-control" />
        </div>
    </div>

    <div class="form-group">
        <label>区间</label>
        <div>
            <input type="text" name="date2" id="date2" class="form-control" style="width: 20%;">
            <input type="hidden" id = "startTime" name="startTime" class="form-control" />
            <input type="hidden" id = "endTime" name="endTime" class="form-control" />
        </div>
    </div>
</body>
</html>

首先引入了一些css和js 

<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/daterangepicker.css">
<script src="js/jquery-2.2.3.min.js"></script>
<script src="js/moment.js"></script>
<script src="js/daterangepicker.js"></script>

按照html中的引入,还要用到jquery,因为这个组件是基于bootstrap的,所以要先引入bootstrap的css文件和js文件.

从上面html中可以看到,这个demo包含两块,一块是单个日期控件的使用,另外一个是区间范围的使用.
单个日期控件如下图所示:

区间日期范围如下所示:

他可以选择时间范围,也可以自定义,具体可以仔细看一下代码.这个demo还是很简单的,这个demo没有对源码做任何修改.

这个demo我先记到这里.

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Bootstrap的tooltips组件提供了一种简单的方式来创建提示信息,这些提示信息会在鼠标悬停在某个元素上时显示出来。下面是一个简单的例子: ```html <!DOCTYPE html> <html> <head> <title>Bootstrap Tooltip Example</title> <!-- 引入Bootstrap的CSS文件 --> <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css"> </head> <body> <div class="container"> <h1>Bootstrap Tooltip Example</h1> <button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="top" title="Tooltip on top">Top</button> <button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="right" title="Tooltip on right">Right</button> <button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="bottom" title="Tooltip on bottom">Bottom</button> <button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="left" title="Tooltip on left">Left</button> </div> <!-- 引入jQuery和Bootstrap的JS文件 --> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <script> $(function () { $('[data-toggle="tooltip"]').tooltip(); }) </script> </body> </html> ``` 这个例子,我们创建了四个按钮,并为每个按钮添加了 `data-toggle="tooltip"` 和 `title` 属性。`data-toggle="tooltip"` 属性告诉Bootstrap这是一个tooltip组件,而 `title` 属性则是要显示的提示信息。 为了使这些tooltip生效,我们需要再引入jQuery和Bootstrap的JS文件,并在文档加载完成后调用一下 `$('[data-toggle="tooltip"]').tooltip();` 这个方法即可。 另外,我们还可以使用 `data-placement` 属性来控制tooltip的位置,可选的值有:top、right、bottom、left,分别表示提示信息出现在目标元素的上、右、下、左方。在上面的例子,我们为每个按钮都设置了不同的 `data-placement` 属性值,以便演示不同的位置效果。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值