如何使用 bootstrap-datepicker 更新多个输入

How to update multiple inputs with bootstrap-datepicker

我正在使用 bootstrap-datepicker 处理一个包含 start dateend date 字段的表单。

为方便起见,任何时候用户更新 start date,我希望 end date 更新以匹配 start date。 (尽管更改结束日期不应更改开始日期)。

我是 jQuery 的新手,但这是我目前所掌握的:

$(document).ready(function() {
  $('.dateinput').datepicker();
  $('#id_start_date').change(function() {
    var startDate = $(this).val();
    $('#id_end_date').val(startDate);
  });
});

<input class="dateinput" id="id_start_date" name="start_date" type="text" />
<input class="dateinput" id="id_end_date" name="end_date" type="text" />

这几乎行得通;在 start date 上使用日期选择器可以正确更新 end date。但是,如果我尝试单击 end date 字段,它的日期选择器仍然具有 end date 的陈旧值(日历反映了 end date 的旧值)。

This SO answer 建议我在更新输入的 val() 时需要调用日期选择器的 update() 函数。但是在更改 start date 时,end date 的日期选择器不在 DOM 中(所以我认为我不能用 $('.dateinput') 定位它)。

我也试过用 $('#id_end_date').datepicker('update'); 定位它,但这似乎也不起作用。

使用setDate方法设置bootstrap datepicker

的值
$('#id_end_date').datepicker('setDate',startDate)