【问题标题】:Bootstrap date and time separately getting conflict引导日期和时间分别发生冲突
【发布时间】:2017-11-03 07:34:40
【问题描述】:

我在表单中分别使用了日期选择器和日期时间选择器。如果我只在时间或日期工作,他们正在工作。但是当我把两者都放的时候是不行的。它显示的不是时间,而是日期。 我的代码如下:

<!DOCTYPE html>
<html>
<head>
<script 
src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js">
</script>
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<link rel="stylesheet" 
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/
bootstrap.min.css">
<script 
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-
datetimepicker/4.17.37/js/bootstrap-datetimepicker.min.js"></script>
</head>

<body>
<div>
                        <div class="container">
                            <div class="row">
                                <div class='col-sm-6'>
                                    <div class="form-group">
                                        <div class='input-group date' id='datetimepicker3' style="width:140px;">
                                            <input type="text" class="form-control">
                                            <span class="input-group-addon">
                                                <span class="glyphicon glyphicon-time"></span>
                                            </span>
                                        </div>
                                    </div>
                                </div>
                                <script type="text/javascript">
                                    $(function () {
                                        $('#datetimepicker3').datetimepicker({
                                            format: 'LT'
                                        });
                                    });
                                </script>
                            </div>
                        </div>

                    </div>


                    <div class="container">
                        <div class="row">

                        </div>
                        <br />
                        <div class="row">
                            <div class='col-sm-3'>
                                <div class="form-group">
                                    <div class='input-group date' id='datetimepicker1'>
                                        <input type='text' class="form-control" />
                                        <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span>
                                        </span>
                                    </div>
                                </div>
                            </div>
                            <script type="text/javascript">
                                $(function () {
                                    var bindDatePicker = function () {
                                        $(".date").datetimepicker({
                                            format: 'YYYY-MM-DD',
                                            icons: {
                                                time: "fa fa-clock-o",
                                                date: "fa fa-calendar",
                                                up: "fa fa-arrow-up",
                                                down: "fa fa-arrow-down"
                                            }
                                        }).find('input:first').on("blur", function () {
                                            // check if the date is correct. We can accept dd-mm-yyyy and yyyy-mm-dd.
                                            // update the format if it's yyyy-mm-dd
                                            var date = parseDate($(this).val());

                                            if (!isValidDate(date)) {
                                                //create date based on momentjs (we have that)
                                                date = moment().format('YYYY-MM-DD');
                                            }

                                            $(this).val(date);
                                        });
                                    }

                                    var isValidDate = function (value, format) {
                                        format = format || false;
                                        // lets parse the date to the best of our knowledge
                                        if (format) {
                                            value = parseDate(value);
                                        }

                                        var timestamp = Date.parse(value);

                                        return isNaN(timestamp) == false;
                                    }

                                    var parseDate = function (value) {
                                        var m = value.match(/^(\d{1,2})(\/|-)?(\d{1,2})(\/|-)?(\d{4})$/);
                                        if (m)
                                            value = m[5] + '-' + ("00" + m[3]).slice(-2) + '-' + ("00" + m[1]).slice(-2);

                                        return value;
                                    }

                                    bindDatePicker();
                                });
                            </script>
                        </div>
                    </div>

Image reference for problem.

【问题讨论】:

    标签: javascript jquery html date bootstrap-4


    【解决方案1】:

    这将解决您的问题

    <div class="container">
    <div class="row">
        <div class='col-sm-6'>
            <div class="form-group">
                <div class='input-group date' id='datetimepicker3'>
                    <input type='text' class="form-control" />
                    <span class="input-group-addon">
                        <span class="glyphicon glyphicon-time"></span>
                    </span>
                </div>
            </div>
        </div>
        <script type="text/javascript">
            $(function () {
                $('#datetimepicker3').datetimepicker({
                    format: 'LT'
                });
            });
        </script>
    </div>
    

    只需复制和粘贴,我认为这就是您所需要的 :)

    【讨论】:

      【解决方案2】:

      我认为您在这两个字段中都有日期?

      【讨论】:

        【解决方案3】:

        您现在可以复制和过去 只需更改日期选择器的返回变量名称 从那里它会干扰引导时间选择器的存储变量

        <!DOCTYPE html>
        <html>
        <head>
        <script 
        src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.6/moment.min.js">
        </script>
        <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
        <script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
        <link rel="stylesheet" 
        href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/
        bootstrap.min.css">
        <script 
        src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js">
        </script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-
        datetimepicker/4.17.37/js/bootstrap-datetimepicker.min.js"></script>
        </head>
        
        <body>
        <div>
                                <div class="container">
                                    <div class="row">
                                        <div class='col-sm-6'>
                                            <div class="form-group">
                                                <div class='input-group date' id='datetimepicker3' style="width:140px;">
                                                    <input type="text" class="form-control">
                                                    <span class="input-group-addon">
                                                        <span class="glyphicon glyphicon-time"></span>
                                                    </span>
                                                </div>
                                            </div>
                                        </div>
                                        <script type="text/javascript">
                                            $(function () {
                                                $('#datetimepicker3').datetimepicker({
                                                    format: 'LT'
                                                });
                                            });
                                        </script>
                                    </div>
                                </div>
        
                            </div>
        
        
                            <div class="container">
                                <div class="row">
        
                                </div>
                                <br />
                                <div class="row">
                                    <div class='col-sm-3'>
                                        <div class="form-group">
                                            <div class='input-group date' id='datetimepicker1'>
                                                <input type='text' class="form-control" />
                                                <span class="input-group-addon"><span class="glyphicon glyphicon-calendar"></span>
                                                </span>
                                            </div>
                                        </div>
                                    </div>
                                    <script type="text/javascript">
                                        $(function () {
                                            var bindDatePicker = function () {
                                                $(".date").datetimepicker({
                                                    format: 'YYYY-MM-DD',
                                                    icons: {
                                                        time: "fa fa-clock-o",
                                                        date: "fa fa-calendar",
                                                        up: "fa fa-arrow-up",
                                                        down: "fa fa-arrow-down"
                                                    }
                                                }).find('input:first').on("blur", function () {
                                                    // check if the date is correct. We can accept dd-mm-yyyy and yyyy-mm-dd.
                                                    // update the format if it's yyyy-mm-dd
                                                    var date = parseDate($(this).val());
        
                                                    if (!isValidDate(date)) {
                                                        //create date based on momentjs (we have that)
                                                        date = moment().format('YYYY-MM-DD');
                                                    }
        
                                                    $(this).val(dates);
                                                });
                                            }
        
                                            var isValidDate = function (value, format) {
                                                format = format || false;
                                                // lets parse the date to the best of our knowledge
                                                if (format) {
                                                    value = parseDate(value);
                                                }
        
                                                var timestamp = Date.parse(value);
        
                                                return isNaN(timestamp) == false;
                                            }
        
                                            var parseDate = function (value) {
                                                var m = value.match(/^(\d{1,2})(\/|-)?(\d{1,2})(\/|-)?(\d{4})$/);
                                                if (m)
                                                    values = m[5] + '-' + ("00" + m[3]).slice(-2) + '-' + ("00" + m[1]).slice(-2);
        
                                                return values;
                                            }
        
                                            bindDatePicker();
                                        });
                                    </script>
                                </div>
                            </div>
        

        【讨论】:

          猜你喜欢
          • 2019-11-06
          • 1970-01-01
          • 2018-06-10
          • 1970-01-01
          • 2016-08-28
          • 2017-05-23
          • 1970-01-01
          • 1970-01-01
          • 2011-10-14
          相关资源
          最近更新 更多