引导日期和时间分别发生冲突

时间:2017-06-02 01:49:28

标签: javascript jquery html date bootstrap-4

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

<!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.

3 个答案:

答案 0 :(得分:0)

我想你在两个领域都有约会?

答案 1 :(得分:0)

这将解决您的问题

<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 :(得分:0)

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

<!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>