bootstrap-datetimepicker 的使用

最近項目的后臺管理系統需要一個按時間查詢的需求,前端需要一個日期的選擇器,度娘之后選擇了bootstrap-datetimepicker日期選擇控件。
bootstrap日期時間選擇器下載地址和文檔

在使用的過程中主要遇到了兩個問題

  1. 插件內容默認是英文沒有中文
  2. 就是一個最基礎的需求,開始的日期不能晚于結束的日期,結束的日期不能早于開始的日期。

首先解決第一個沒有默認是英文的問題,修改文件中JS目錄下的JS文件手動添加cn中文選項

然后在初始化中language中配置cn

var dates = $.fn.datetimepicker.dates = {  
   en: {  
     days:        ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],  
     daysShort:   ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],  
     daysMin:     ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],  
     months:      ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],  
     monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],  
     meridiem:    ['am', 'pm'],  
     suffix:      ['st', 'nd', 'rd', 'th'],  
     today:       'Today',  
     clear:       'Clear'  
   },  
   cn : {  
        days: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"],  
        daysShort: ["日", "一", "二", "三", "四", "五", "六", "七"],  
        daysMin: ["日", "一", "二", "三", "四", "五", "六", "七"],  
        months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],  
        monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],  
        meridiem:    ['am', 'pm'],  
        suffix:      ['st', 'nd', 'rd', 'th'],  
        today: "今天",  
        clear: "清除"  
   }  
 }; 

第二個問題就是日期選擇的限制了,直接粘代碼

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8" />
    <title>Document</title>
    <script src="./node_modules/jquery/dist/jquery.min.js"></script>
    <link rel="stylesheet" type="text/css" href="./node_modules/bootstrap/dist/css/bootstrap.css">
    <script src="./node_modules/bootstrap/dist/js/bootstrap.js"></script>
    <link rel="stylesheet" type="text/css" href="./node_modules/bootstrap-datetimepicker-master/css/bootstrap-datetimepicker.min.css">
    <script src="./node_modules/bootstrap-datetimepicker-master/js/bootstrap-datetimepicker.min.js"></script>
</head>

<body>
    <div class="row">
        <div class='col-sm-6'>
            <div class="form-group">
                <label>選擇開始日期:</label>
                <!--指定 date標記-->
                <div class='input-group date' id='date_start'>
                    <input type='text' class="form-control" readonly="readonly" />
                    <span class="input-group-addon">  
                        <span class="glyphicon glyphicon-calendar"></span>
                    </span>
                </div>
            </div>
        </div>
        <div class='col-sm-6'>
            <div class="form-group">
                <label>選擇結束時間:</label>
                <!--指定 date標記-->
                <div class='input-group date' id='date_end'>
                    <input type='text' class="form-control" readonly="readonly" />
                    <span class="input-group-addon">  
                        <span class="glyphicon glyphicon-calendar"></span>
                    </span>
                </div>
            </div>
        </div>
    </div>
</body>

</html>
<script>
$(function() {
    $('#date_start').datetimepicker({
        format: 'yyyy-mm-dd',
        weekStart: 1,
        language: 'cn',
        minView: 'month',
        autoclose: true,
        todayBtn: true,
        endDate: new Date(),
    }).on("changeDate", function(ev) {
        if (ev.date) {
            $('#date_end').datetimepicker('setStartDate', new Date(ev.date.valueOf()))
        } else {
            $('#date_end').datetimepicker('setStartDate', );
        }
    });

    $('#date_end').datetimepicker({
        format: 'yyyy-mm-dd',
        weekStart: 1,
        language: 'cn',
        minView: 'month',
        autoclose: true,
        endDate: new Date(),
    }).on("changeDate", function(ev) {
        if (ev.date) {
            $('#date_start').datetimepicker('setEndDate', new Date(ev.date.valueOf()))
        } else {
            $('#date_start').datetimepicker('setEndDate', new Date());
        }
    });
});
</script>

NPM的配置,直接粘過去就好~

{
  "name": "kkkoko",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "bootstrap": "^3.3.5",
    "jquery": "^2.2.4",
  }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,252評論 4 61
  • 埃斯比約(Esbjerg)位于丹麥日德蘭半島的西南部,是丹麥第五大城市及最大的漁港,瀕臨北海,擁有日德蘭半島唯一的...
    慕溪北歐旅游閱讀 1,295評論 0 0
  • 前段時間看的《為孩子朗讀》,里面有些內容是我自己第一次聽的,也是沒有實踐過。其中的一點就是在朗讀的過程中可以和孩子...
    田金平閱讀 158評論 0 0
  • Class 操作 作者:曾慶林 設置和切換class addClass() 添加class hasClass() ...
    輕思維閱讀 311評論 0 1