我正在使用日期范围选择器的推特启动,由丹·格罗斯曼。
初始化时,可以设置预定义的值,如startDate和endDate。以后是否可以以类似的方式手动更新这些值?
我想要做的是用我保存的过滤器“加载”日期范围选择器,其中包括开始日期和结束日期(不是通过定义预定义的范围)。只要通过jQuery更新日期范围选择器的字段,就不会更新日历的实际选择。
我想我在初始化日期范围选择器时应该这样做:
var reportrange = $('#reportrange').daterangepicker(),
DateRangePicker = reportrange.data('daterangepicker');但是,如何使用DateRangePicker手动更新日期范围选择器和日历?
发布于 2014-01-27 20:32:24
此组件的最新版本提供了更新开始/结束日期的方法:
$("#reportrange").data('daterangepicker').setStartDate(startDate);
$("#reportrange").data('daterangepicker').setEndDate(endDate);您不必自己调用update方法,因为这些方法将处理所有这些问题。
发布于 2013-09-24 06:18:59
我走在正确的轨道上。我可以通过以下方式使用DateRangePicker更新日期:
DateRangePicker.startDate = moment(startDate.toJSON().slice(0, 10), DateRangePicker.format);
DateRangePicker.endDate = moment(endDate.toJSON().slice(0, 10), DateRangePicker.format);
DateRangePicker.updateView();
DateRangePicker.cb(DateRangePicker.startDate, DateRangePicker.endDate);
DateRangePicker.updateCalendars();发布于 2013-12-18 20:25:14
谢谢。您的代码帮助我找到在页面中动态设置新日期范围的方法。
不过有一件事。看起来,您的方式将更新页面中的所有DateRangePickers (假设您有多个)。
此外,DateRangePicker原型对象可能无法在页面中访问(如果插件放在外部JS文件中)。
下面是一种只更新链接到jQuery选择器的方法。
// Init DateRangePicker
$('#reportrange').daterangepicker({/* params */}),
...
// Update params dynamically after init.
// In this case, date format has been set to YYYY-MM-DD on init.
$("#reportrange").data().daterangepicker.startDate = moment( '2013-12-24', datepicker.data().daterangepicker.format );
$("#reportrange").data().daterangepicker.endDate = moment( '2013-12-25', datepicker.data().daterangepicker.format );
$("#reportrange").data().daterangepicker.updateCalendars();https://stackoverflow.com/questions/18955397
复制相似问题