如果未选择日期,如何防止引导日期拾取器从输入中清除现有值?

我有一个div,其中用户的出生日期预先填充了php:

<div id="datepicker" class="input-group date">
    <label for="dob">Date of Birth</label> <input type="text" class="form-control" id="dob" name="dob" value="<?php $date = new DateTime($this->swimmers->dob); echo $date->format('d/m/Y');?>"><span class="input-group-addon"><i class="glyphicon glyphicon-th"></i></span>
</div>

Javascript:

<script>     
    $('.container .input-group.date').datepicker({
    startDate: "01/01/1900",
    endDate: "01/01/2100",
    format: "dd/mm/yyyy",
    autoclose: true,
    todayHighlight: true
    });
</script>

Bootstrap已设置并正常工作,但是,当“dob”输入在没有选择日期的情况下获得并失去焦点时,它会清除预先填充的值。

但是,如果通过日期选取器选择了日期,然后输入获得并失去焦点,则不会发生这种情况。

如果有人点击预填充的值,如何将其保留在字段中?

编辑:首次选择日期时,它会清除预填充的值,但在您再次选择日期之前不会插入所选日期。

更新:工作代码已更新!


答案 1

将“强制分析值”设置为 false: forceParse: false

    $(".applyDatepicker").datepicker({
            forceParse: false
    });

答案 2

我不确定它在php中是否工作,但对于mvc,我遇到了同样的问题,如果控件在没有选择日期的情况下获得并失去焦点,Bootstrap会擦除该值。

我发现Bootstrap删除了该值,因为它无法识别由

$('#dtControl').val(nextMonth);

我正在使用bootstrap v3.1.1,以下代码适用于我

$('#dtControl').datepicker('setDate', nextMonth);

以填充日期选取器控件。通过这种方式,Bootstrap识别日期,并且在控件获得并失去焦点时不会擦除它