我有一个遗留的Web应用程序正在使用一些旧版本的bootstrap datepicker。我在这里上传了整个datepicker.js文件。 https://pastebin.com/aYzMrWgW
我正在设置我的“开始日期”选择器,以便在更改时,我获取所选值并计算所选同月的最后一天,并将该值设置为“结束日期”的值。
我正在使用以下代码从“开始日期”选择器$('#dp1')
中获取值,并尝试将其设置为“结束日期”选择器$('#dp1a')
的值。当我检查控制台时,我的lastDay
变量是正确的。如果我选择8/1/2017 - 它会记录8/31/2017和儿子的字符串表示。但是我无法用正确的值更新结束日期。
$('#dp1').datepicker().on('changeDate', function(ev) {
$('.datePickerStart').change();
});
$('.datePickerStart').change(function() {
// Parse the date and get the last day of the month selected
var date = new Date($(this).val());
var lastDay = new Date(date.getFullYear(), date.getMonth() + 2, 0);
console.log(lastDay);
$('#dp1a').datepicker('setValue', lastDay);
});
如果我像上面那样调用setValue,它会将值设置为9/1/2017。
有人能指出我做错了吗?
答案 0 :(得分:1)
你的bootstrap datepicker版本太旧了,似乎没有完整的方法.datepicker('setValue', value)
。与当前版本相比,缺少一些代码。你可以检查差异here。
即使我使用你的版本在你的代码中对setValue进行了一些更改。
$(document).ready(function(){
var second = $('#dp1a').datepicker().data('datepicker');
$('#dp1').datepicker().on('changeDate', function(ev) {
$('.datePickerStart').change();
});
$('.datePickerStart').change(function() {
// Parse the date and get the last day of the month selected
var date = new Date($(this).val());
var lastDay = new Date(date.getFullYear(), date.getMonth() + 2, 0);
console.log(lastDay);
second.date=lastDay;
second.setValue();
});
});
但是当使用当前版本更新时,您的代码非常完美。使用最新版本更容易使用这些方法。
希望这有帮助!