【问题标题】:i have error with jquery datetime picker that change the time when i focus out the controll我对 jquery 日期时间选择器有错误,它改变了我关注控件的时间
【发布时间】:2018-10-17 01:42:29
【问题描述】:

我正在使用 jquery 日期时间选择器 我的问题是当我选择时间并使用选项卡按钮时,它将变为负 1 小时 意味着如果我选择上午 9.30 并单击选项卡按钮,它将是上午 8.30,并且当我在该控件上使用选项卡时,它将计数减号

在这里您可以看到我选择了上午 9.30,但是当专注于此控件时,它会自动执行上午 8.30 这是一个代码

       <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <title>Places Searchbox</title>
    <link href="~/Content/jquery.datetimepicker.css" rel="stylesheet" />
    <script src="~/scripts/jquery.min.js"></script>
    <script src="~/scripts/moment.js"></script>
    <script src="~/scripts/bootstrap.min.js"></script>
    <script src="~/scripts/bootstrap-datetimepicker.min.js"></script>
    <script src="~/scripts/jquery.datetimepicker.full.min.js"></script>
    <script src="~/scripts/VagaroDateTimePicker.js"></script>
    <link href="~/Content/bootstrap-datetimepicker.min.css" rel="stylesheet" />
     <link href="~/Content/bootstrap.min.css" rel="stylesheet" />  
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-timepicker/1.10.0/jquery.timepicker.min.css">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-timepicker/1.10.0/jquery.timepicker.min.js"></script>


</head>
<body>
    <div class="container">
        <div class="row">
            <div class="col-md-6">
                <input type="text" class="datepicker" />
            </div>
        </div>
    </div>



 $('.datepicker').datetimepicker({
            format: 'M-d-Y g:i A',   

        });

【问题讨论】:

  • 除了图片之外,请添加您的代码或小提琴进行测试
  • 我已添加代码
  • 使用 HTML 的完整代码,并尝试将所有代码设置为像 jsfiddle.net/boilerplate/jquery 这样的小提琴,以便我们为您提供帮助
  • 我在这里添加了完整的代码
  • 你是不是有很多疯狂的 js。参考,日期选择器?你都在用吗?很难找到错误,但不知道您在使用什么

标签: javascript jquery jquerydatetimepicker


【解决方案1】:

我找到了解决方案

 $('.datepicker').datetimepicker({
          //  datepicker: false,//hide date 
           // format: 'DD-M-YYYY hh:mm A'
            format: 'M-d-Y g:i A',
            formatTime: 'g:i A',
            validateOnBlur: false,
        });

我添加了 validateOnBlur:false 及其对我的工作

【讨论】:

    【解决方案2】:

    我测试了你的代码,我发现当你按下 tab 时,如果你选择 10.00 AM 它变成 09.00 AM 并且我检查了documentation,我发现您可以将 moment.js 结合在 documentation

    您只需添加 moment.js,然后将此行添加到您的代码中

    $('.datepicker').datetimepicker({
      format:'DD.MM.YYYY h:mm a',
      formatTime:'h:mm a',
      formatDate:'DD.MM.YYYY'
    });
    
    $.datetimepicker.setDateFormatter('moment');
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.full.min.js"></script>
    
    <link href="https://cdnjs.cloudflare.com/ajax/libs/jquery-datetimepicker/2.5.20/jquery.datetimepicker.css" rel="stylesheet"/>
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" rel="stylesheet"/>
    <div class="container mt-5">
      <div class="row">
        <div class="col-md-6 mb-5">
          <input type="text" class="datepicker"/>
        </div>
        <div class="col-md-6 mb-5">
          <input type="text" class="datepicker" />
        </div>
        <div class="col-md-6 mb-5">
          <input type="text" class="datepicker" />
        </div>
      </div>
    </div>

    我已经在这里为你做了,请检查一下并告诉我它是否有帮助

    小提琴:https://jsfiddle.net/v82vkxpz/7/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-17
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 1970-01-01
      • 2014-04-24
      相关资源
      最近更新 更多