首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建动态日期选择器值?

问如何创建动态日期选择器值?
EN

Stack Overflow用户
提问于 2017-07-31 13:11:16
回答 4查看 2.9K关注 0票数 0

我的HTML代码如下:

​

代码语言:javascript
复制
$(function () {                
    $('#datetimepicker').datetimepicker({
        minDate: moment().startOf('minute').add(300, 'm'),
    });
    
    $("#btnSubmit").click(function() {
        value = document.getElementById('datetimepicker').value;
        console.log(value)
    });
});
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.13.0/moment.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/js/bootstrap-datetimepicker.min.js"></script>

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datetimepicker/4.17.37/css/bootstrap-datetimepicker.min.css" rel="stylesheet"/>


<div class="container">
    <div class="row">
        <div class='col-sm-6'>
            <div class="form-group">
                <input type='text' class="form-control" id='datetimepicker' />
            </div>
        </div>
    </div>
</div>
<button id="btnSubmit">
    Submit
</button>

​

这样的演示:https://jsfiddle.net/oscar11/8jpmkcr5/83/

如果单击submit按钮,则成功地从现在开始获得日期时间值300分钟。

但是如果在提交之前,我等了10分钟,结果不符合我的期望。

例如,现在6点。在提交之前,我等待10分钟。提交后,我得到的时间值为11.10。所以我想喜欢它

我怎么能这么做?如何使自动日期时间值增加?

更新:

是否可以根据当前时间自动增加文本框中的时间值?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-07-31 14:08:03

不确定您为什么需要它,但您可以使用以下内容:

代码语言:javascript
复制
$("#btnSubmit").click(function() {
    var targetDate = new Date(new Date().getTime() + (300 * 60 * 1000));
    $('#datetimepicker').data("DateTimePicker").date(targetDate);

   value = document.getElementById('datetimepicker').value;
   console.log(targetDate, value);
});

单击时,它将日期选择器更改为当前日期+ 300分钟。我更新了示例:https://jsfiddle.net/8jpmkcr5/86/

编辑:根据您最近的评论,我相信您希望用户能够选择日期(日/月/年),但是时间(小时/分钟)随着时间的推移而不断变化。如果是这样的话,您可以使用以下内容:

代码语言:javascript
复制
$(function () {                
  $('#datetimepicker').datetimepicker({
        minDate: moment().startOf('minute').add(180, 'm'),
    });
});

setInterval(function(){
    var pickedDate = $('#datetimepicker').data('DateTimePicker').date();
    var currentDate = moment();
    pickedDate = pickedDate.set({
            'hour' : currentDate.get('hour') + 3,
            'minute'  : currentDate.get('minute'), 
            'second' : currentDate.get('second')
         });
    $('#datetimepicker').data("DateTimePicker").date(pickedDate);
 },1000);

您可以在这里进行测试:https://jsfiddle.net/8jpmkcr5/98/

票数 1
EN

Stack Overflow用户

发布于 2017-07-31 14:21:11

您可以在每次单击和/或每分钟更新它。

代码语言:javascript
复制
function updateTime(){
$('#datetimepicker').data("DateTimePicker").date(moment().startOf('minute').add(180, 'm'));
};

$(function () {                
  $('#datetimepicker').datetimepicker({
        minDate: moment().startOf('minute').add(180, 'm'),
    });
});


$("#btnSubmit").click(function() {
    updateTime();
  value = document.getElementById('datetimepicker').value;
  console.log(value)
  });

setInterval(function(){
   updateTime();
},60000);

检查https://jsfiddle.net/8jpmkcr5/88/

无论如何,选择者的想法是让用户选择,使用它并强制一些日期有什么意义?

票数 1
EN

Stack Overflow用户

发布于 2017-07-31 14:09:20

您可以尝试另一种方法,并在提交上添加300分钟,如下所示:

​

代码语言:javascript
复制
$(function () {                
    $('#datetimepicker').datetimepicker({
        minDate: moment().startOf('minute').add(300, 'm'),
    });
    
    $("#btnSubmit").click(function() {
        value = document.getElementById('datetimepicker').value;
        var d1 = new Date (),
        d2 = new Date ( value );
        d2.setMinutes ( d1.getMinutes() + 300 );
        console.log(moment(d2).format("YYYY-MM-DD HH:mm:ss"));
    });
});
代码语言:javascript
复制
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
  <script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment-with-locales.js"></script>
  <script src="//cdn.rawgit.com/Eonasdan/bootstrap-datetimepicker/e8bddc60e73c1ec2475f827be36e1957af72e2ea/src/js/bootstrap-datetimepicker.js"></script>
<div class="container">
    <div class="row">
        <div class='col-sm-6'>
            <div class="form-group">
                    <input type='text' class="form-control" id='datetimepicker' />
            </div>
        </div>
    </div>
</div>
<button id="btnSubmit">
Submit
</button>

​

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45416906

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档