日期范围选择器 autoApply:true 不适用于 timePicker:true
Date Range Picker autoApply:true doesn't work with timePicker: true
我有这个 Date Range Picker 代码:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" />
<script type="text/javascript">
$(function() {
$('input[name="datefilter"]').daterangepicker({
autoApply: true,
timePicker: true,
locale: {
cancelLabel: 'Clear'
}
});
$('input[name="datefilter"]').on('apply.daterangepicker', function(ev, picker) {
$(this).val(picker.startDate.format('MM/DD/YYYY') + ' - ' + picker.endDate.format('MM/DD/YYYY'));
});
$('input[name="datefilter"]').on('cancel.daterangepicker', function(ev, picker) {
$(this).val('');
});
});
</script>
</head>
<body>
<input type="text" name="datefilter" value="" />
</body>
</html>
特别强调这一行:
autoApply: true
根据这个网站:http://www.daterangepicker.com/ 说:
autoApply: (true/false) Hide the apply and cancel buttons, and automatically apply a new date range as soon as two dates are clicked.
但结果 1) 的日期时间选择器仍然有两个按钮(Cancel
和 Apply
)并且 2) 在单击两个日期时不应用更改:
写问题时:
我注意到,当我删除 timePicker: true
时,会发生所需的 autoApply
行为(Cancel
和 Apply
按钮消失,日期选择器在选择日期时关闭):
那么,为什么在 timePicker
启用时 autoApply
不起作用??我需要这两个功能。
不支持该选项组合。如果您在他们单击两个日期后立即 "auto apply",您将在他们实际 selection 之前让界面消失,因为他们还没有 select 时间( s) 他们想要。需要一个按钮来表示他们已经完成制造 selection,这可能需要以各种顺序制造多达 8 selections/clicks。您只能 "auto apply" 没有时间的日期范围,因为一旦他们选择了两个日期,您就知道他们已经完成了。
我有这个 Date Range Picker 代码:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://cdn.jsdelivr.net/jquery/latest/jquery.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/momentjs/latest/moment.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/daterangepicker/daterangepicker.css" />
<script type="text/javascript">
$(function() {
$('input[name="datefilter"]').daterangepicker({
autoApply: true,
timePicker: true,
locale: {
cancelLabel: 'Clear'
}
});
$('input[name="datefilter"]').on('apply.daterangepicker', function(ev, picker) {
$(this).val(picker.startDate.format('MM/DD/YYYY') + ' - ' + picker.endDate.format('MM/DD/YYYY'));
});
$('input[name="datefilter"]').on('cancel.daterangepicker', function(ev, picker) {
$(this).val('');
});
});
</script>
</head>
<body>
<input type="text" name="datefilter" value="" />
</body>
</html>
特别强调这一行:
autoApply: true
根据这个网站:http://www.daterangepicker.com/ 说:
autoApply: (true/false) Hide the apply and cancel buttons, and automatically apply a new date range as soon as two dates are clicked.
但结果 1) 的日期时间选择器仍然有两个按钮(Cancel
和 Apply
)并且 2) 在单击两个日期时不应用更改:
写问题时:
我注意到,当我删除 timePicker: true
时,会发生所需的 autoApply
行为(Cancel
和 Apply
按钮消失,日期选择器在选择日期时关闭):
那么,为什么在 timePicker
启用时 autoApply
不起作用??我需要这两个功能。
不支持该选项组合。如果您在他们单击两个日期后立即 "auto apply",您将在他们实际 selection 之前让界面消失,因为他们还没有 select 时间( s) 他们想要。需要一个按钮来表示他们已经完成制造 selection,这可能需要以各种顺序制造多达 8 selections/clicks。您只能 "auto apply" 没有时间的日期范围,因为一旦他们选择了两个日期,您就知道他们已经完成了。