以编程方式更改 JQUERY 日历控件中的日期限制
Programmatically change datelimit in JQUERY calendar control
我似乎在以编程方式设置 JQuery 日历控件的 dateLimit 时遇到问题。
当页面最初加载时,我像这样设置日历控件:
$('#dashboard-report-range').daterangepicker({
opens: (App.isRTL() ? 'right' : 'left'),
startDate: moment($('#hidLatestData_Date').val()).add('days', -6),
endDate: moment($('#hidLatestData_Date').val()),//.add('days', 1),
minDate: '01/01/2012',
maxDate: moment($('#hidLatestData_Date').val()),//.add('days', 2),
dateLimit: {
days: 6
},
showDropdowns: false,
showWeekNumbers: true,
timePicker: false,
timePickerIncrement: 1,
timePicker12Hour: true,
ranges: {
'Today': [moment(), moment().add('days', 0)],
'Yesterday': [moment().subtract('days', 1), moment().subtract('days', 1).add('days', 0)],
'Last 7 Days': [moment().subtract('days', 6), moment()]//,
//'Last 30 Days': [moment().subtract('days', 29), moment()],
//'This Month': [moment().startOf('month'), moment().endOf('month')],
//'Last Month': [moment().subtract('month', 1).startOf('month'), moment().subtract('month', 1).endOf('month')]
},
buttonClasses: ['btn'],
applyClass: 'blue',
cancelClass: 'default',
format: 'DD/MM/YYYY',
separator: ' to ',
locale: {
applyLabel: 'Apply',
fromLabel: 'From',
toLabel: 'To',
customRangeLabel: 'Custom Range',
daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
firstDay: 1
}
}
在页面上,我有一个下拉列表。如果进行了特定选择,我想将 dateLimit 值更改为 1,而不是 6。
我尝试了很多不同的选项,但似乎没有一个适合我。任何帮助将不胜感激。
我实际上也必须更改开始时间,但(下面)的代码 100% 正确工作。
$("#dashboard-report-range").datepicker('option', { startDate: new Date(hidEndDate)});
这些是我尝试过的选项,还有一些我什至不记得了:
$("#dashboard-report-range").datepicker('option', { dateLimit: "days:1"});
$("#dashboard-report-range").datepicker('option', { dateLimit: { "days":"1"}});
$("#dashboard-report-range").datepicker('option', dateLimit: { "days":"1"});
$("#dashboard-report-range").datepicker('option', dateLimit: "days:1");
$("#dashboard-report-range").datepicker('option', dateLimit, "days:1");
$("#dashboard-report-range").datepicker('option', "dateLimit", "days:1" );
您可以尝试以下操作:
$("#dashboard-report-range").datepicker('option', "dateLimit.days", "1" );
更新 1:
您可以通过以下方式访问datarangepicker数据:
var drp = $('#dashboard-report-range').data('daterangepicker');
drp.dateLimit.days = 1;
更新二:
您还可以通过以下方式更新属性:
drp.ranges['Today'] = [moment(), moment().add('days', 1)]
这是更新的 jsFiddle:http://jsfiddle.net/pvskz78d/3/
我似乎在以编程方式设置 JQuery 日历控件的 dateLimit 时遇到问题。
当页面最初加载时,我像这样设置日历控件:
$('#dashboard-report-range').daterangepicker({
opens: (App.isRTL() ? 'right' : 'left'),
startDate: moment($('#hidLatestData_Date').val()).add('days', -6),
endDate: moment($('#hidLatestData_Date').val()),//.add('days', 1),
minDate: '01/01/2012',
maxDate: moment($('#hidLatestData_Date').val()),//.add('days', 2),
dateLimit: {
days: 6
},
showDropdowns: false,
showWeekNumbers: true,
timePicker: false,
timePickerIncrement: 1,
timePicker12Hour: true,
ranges: {
'Today': [moment(), moment().add('days', 0)],
'Yesterday': [moment().subtract('days', 1), moment().subtract('days', 1).add('days', 0)],
'Last 7 Days': [moment().subtract('days', 6), moment()]//,
//'Last 30 Days': [moment().subtract('days', 29), moment()],
//'This Month': [moment().startOf('month'), moment().endOf('month')],
//'Last Month': [moment().subtract('month', 1).startOf('month'), moment().subtract('month', 1).endOf('month')]
},
buttonClasses: ['btn'],
applyClass: 'blue',
cancelClass: 'default',
format: 'DD/MM/YYYY',
separator: ' to ',
locale: {
applyLabel: 'Apply',
fromLabel: 'From',
toLabel: 'To',
customRangeLabel: 'Custom Range',
daysOfWeek: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],
monthNames: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
firstDay: 1
}
}
在页面上,我有一个下拉列表。如果进行了特定选择,我想将 dateLimit 值更改为 1,而不是 6。
我尝试了很多不同的选项,但似乎没有一个适合我。任何帮助将不胜感激。
我实际上也必须更改开始时间,但(下面)的代码 100% 正确工作。
$("#dashboard-report-range").datepicker('option', { startDate: new Date(hidEndDate)});
这些是我尝试过的选项,还有一些我什至不记得了:
$("#dashboard-report-range").datepicker('option', { dateLimit: "days:1"});
$("#dashboard-report-range").datepicker('option', { dateLimit: { "days":"1"}});
$("#dashboard-report-range").datepicker('option', dateLimit: { "days":"1"});
$("#dashboard-report-range").datepicker('option', dateLimit: "days:1");
$("#dashboard-report-range").datepicker('option', dateLimit, "days:1");
$("#dashboard-report-range").datepicker('option', "dateLimit", "days:1" );
您可以尝试以下操作:
$("#dashboard-report-range").datepicker('option', "dateLimit.days", "1" );
更新 1:
您可以通过以下方式访问datarangepicker数据:
var drp = $('#dashboard-report-range').data('daterangepicker');
drp.dateLimit.days = 1;
更新二:
您还可以通过以下方式更新属性:
drp.ranges['Today'] = [moment(), moment().add('days', 1)]
这是更新的 jsFiddle:http://jsfiddle.net/pvskz78d/3/