如何使用 bootstrap-datepicker 更新多个输入
How to update multiple inputs with bootstrap-datepicker
我正在使用 bootstrap-datepicker 处理一个包含 start date
和 end 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)
我正在使用 bootstrap-datepicker 处理一个包含 start date
和 end 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)