2

如何说服 datetimepicker 在初始页面加载时在输入文本字段中显示其值?

在这种情况下,日期选择器文本输入的值属性已设置,但该字段显示为空白。因此,我尝试设置“数据日期默认日期”属性,但在初始页面加载时,文本字段仍为空白。重新加载后,该值按预期显示。

表格(摘录):

<form name="news" method="post" class="form-horizontal">
    <div class="form-group">
        <label class="col-sm-2 control-label required" for="news_validFrom">Start time</label>
        <div class="col-sm-8 col-md-6">
            <div class="input-group date datetime-picker" id="datetime1">
                <input type="text" id="news_validFrom" name="news[validFrom]" required="required" class="form-control" value="2016-07-08T00:00:00+02:00" />
                <span class="input-group-addon">
                    <span class="fa fa-calendar"></span>
                </span>

            </div>
        </div>
    </div>
    <div class="form-group">
        <label class="col-sm-2 control-label required" for="news_validTo">End date</label>
        <div class="col-sm-8 col-md-6">
            <div class="input-group date date-picker" id="datetime2">
                <input type="text" id="news_validTo" name="news[validTo]" required="required" class="form-control" value="2016-06-22T00:00:00+02:00" />
                <span class="input-group-addon">
                    <span class="fa fa-calendar"></span>
                </span>

            </div>
        </div>
    </div>
// [...]
</form>

剧本:

$(function () {
    $('#datetime1')
    .attr('data-date-defaultdate', $('#datetime1 input').attr('value'))
    .datetimepicker({
        format: 'DD MMM YYYY HH:mm',
        defaultDate: $('#datetime1 input').attr('value'),
        viewDate: 'true'
    });
    $('#datetime2')
    .attr('data-date-defaultdate', $('#datetime2 input').attr('value'))
    .datetimepicker({
        format: 'DD MMM YYYY HH:mm',
        defaultDate: $('#datetime2 input').attr('value')
    });
});

任何想法如何使这项工作?

4

2 回答 2

1

更改为:

$(function () {
    $('#datetime1')
    .attr('data-date-defaultdate', $('#datetime1 input').val())
    .datetimepicker({
        format: 'DD MMM YYYY HH:mm',
        defaultDate: $('#datetime1 input').val(s),
        viewDate: 'true'
    });
    $('#datetime2')
    .attr('data-date-defaultdate', $('#datetime2 input').val())
    .datetimepicker({
        format: 'DD MMM YYYY HH:mm',
        defaultDate: $('#datetime2 input').val()
    });
});
于 2016-06-09T18:53:51.890 回答
0

由于我没有找到解决此问题的方法,因此我尝试了 bootstrap-datetimepicker 的另一个分支:smalot/bootstrap-datetimepicker

这个按预期工作,输入值没有问题(该值始终显示在文本字段中)。我想,问题可能来自给定的日期格式(value="2016-07-0 8T 00:00:00 +02:00 "),但我还没有完全弄清楚。

于 2016-06-10T22:13:04.600 回答