【问题标题】:datetimepicker erasing value from input if value exists at page load如果页面加载时存在值,则 datetimepicker 从输入中删除值
【发布时间】:2017-10-25 19:47:35
【问题描述】:

我将这个日期时间选择器用于 Bootstrap 4 https://tempusdominus.github.io/bootstrap-4/

如果加载时输入为空白,插件就可以正常工作。但是,我有一个编辑表单,它已经有一个值,但日期选择器在页面加载时删除了该值。

<div class="container">
    <div class="row">
        <div class='col-sm-6'>
            <div class="form-group">
               <input class="form-control datetimepicker-input" data-target="#Entry_EntryDate" data-toggle="datetimepicker" data-val="true" data-val-date="The field Event Date must be a date." data-val-required="The Event Date field is required." id="Entry_EntryDate"  type="datetime" value="2017-10-25 10:17 AM" />
            </div>
        </div>
    </div>
</div>

和默认的js

 $(function() {
         $('#Entry_EntryDate').datetimepicker();
 });

这里是JsFiddle

我分叉了推荐的 jsfiddle,所以我确定我拥有所有正确的所需依赖项。

我尝试更改语言环境、更改格式但没有成功。

【问题讨论】:

    标签: jquery bootstrap-4 bootstrap-datetimepicker eonasdan-datetimepicker


    【解决方案1】:

    当你初始化 datetimepicker 时,它默认清除值,所以为了保留值,你需要记住值 $('#Entry_EntryDate').val() 将其转换为日期对象并在初始化时将其传递给 timepicker:

    和默认的js

     $(function() {
         var date = moment($('#Entry_EntryDate').val(), 'YYYY-MM-DD hh:mm a').toDate();
         $('#Entry_EntryDate').datetimepicker({date:date});
     });
    

    【讨论】:

    • 谢谢!只是想说,我尝试简单地将其设置为我的 datetime.datetime 对象,但这不起作用!正如上面的代码所述,将您的值实际更改为“时刻”日期对象是非常必要的!
    • $('#Entry_EntryDate').val() 必须是momentjs可以解析的格式
    • 应该添加到文档中。不是很明显:/
    • 这里的挑战是,如果你还在 datetimepicker 中指定了日期格式,那么它就不起作用了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    • 1970-01-01
    • 2011-02-28
    相关资源
    最近更新 更多