【发布时间】:2017-07-08 11:40:23
【问题描述】:
我正在为我们的应用程序使用 Daterangepicker。
创建多行程日期选择器组件(3 个输入字段)
- TripOne - 选择日期(例如:2 月 19 日)
- TripTwo - 必须从“TripOne”所选日期开始。
- TripThree - 必须从“TripTwo”选定日期开始。
以上一切正常。
但是,以下问题不适用于此插件。
- TripOne - 选择今天日期(不工作)
- TripTwo - 如果在 TripOne 上选择了 2 月 20 日,我无法在 TripTwo 上选择相同的 2 月 20 日。
- TripThree - 类似于 TripTwo。
JS:
var nowDate = new Date();
var today = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate(), 0, 0, 0, 0);
var maxLimitDate = new Date(nowDate.getFullYear(), nowDate.getMonth(), nowDate.getDate()+360, 0, 0, 0, 0);
$('input[name="tripOne"]').daterangepicker({
"autoApply": true,
"autoUpdateInput": false,
"singleDatePicker": true,
"minDate": today,
"maxDate": maxLimitDate,
"locale": {
format: 'DD MMM YYYY'
}
},function(start) {
$("#tripOne").val(start.format('DD MMM YYYY'));
$('#tripOne').parent().parent().removeClass('has-error');
var returnTripStartDate = new Date(Date.parse(start));
$('input[name="tripTwo"]').daterangepicker({
"autoApply": true,
"autoUpdateInput": false,
"singleDatePicker": true,
"minDate": returnTripStartDate,
"maxDate": maxLimitDate,
"locale": {
format: 'DD MMM YYYY'
}
},function(end) {
$("#tripTwo").val(end.format('DD MMM YYYY'));
$('#tripTwo').parent().parent().removeClass('has-error');
var returnTripStartDate2 = new Date(Date.parse(start));
$('input[name="tripThree"]').daterangepicker({
"autoApply": true,
"autoUpdateInput": false,
"singleDatePicker": true,
"minDate": returnTripStartDate2,
"maxDate": maxLimitDate,
"locale": {
format: 'DD MMM YYYY'
}
},function(end) {
$("#tripThree").val(end.format('DD MMM YYYY'));
$('#tripThree').parent().parent().removeClass('has-error');
});
$(function() {
$('.calendar.right').show();
});
});
$(function() {
$('.calendar.right').show();
});
$('input[name="tripOne"]').on('apply.daterangepicker', function(ev, picker) {
$(this).val(picker.startDate.format('DD MMM YYYY'));
});
$('input[name="tripTwo"]').on('apply.daterangepicker', function(ev, picker) {
$(this).val(picker.startDate.format('DD MMM YYYY'));
});
$('input[name="tripThree"]').on('apply.daterangepicker', function(ev, picker) {
$(this).val(picker.startDate.format('DD MMM YYYY'));
});
});
$(function() {
$('.calendar.right').show();
});
【问题讨论】:
-
您的开发控制台有没有可能出现错误?
-
没有错误老板.. 唯一的逻辑是缺失的。无法在下一个输入字段中重新选择“已经选择的日期”或“今天的日期”。
-
这是我最新更新的代码。 jsfiddle.net/jkenluv/z9tgdh7k/7
标签: jquery daterangepicker bootstrap-daterangepicker