$("input[name='MyDaterange']").daterangepicker({
ranges: {
'This Week': [moment().day("Sunday"), moment().day("Saturday")],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'This Year': [moment().startOf('year'), moment().endOf('year')],
'Year to Date': [moment().startOf('year'), moment()]
},
maxDate: moment() // this is required
});
<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" />
<input type="text" name="MyDaterange" id="MyDaterange" value="" />
我正在使用daterangepicker选择预定义的日期。当我选择年初至今时,另一个选项今年将突出显示。
代码:
$("input[name='MyDaterange']").daterangepicker({
ranges: {
'This Week': [moment().day("Sunday"), moment().day("Saturday")],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'This Year': [moment().startOf('year'), moment().endOf('year')],
'Year to Date': [moment().startOf('year'), moment()]
},
maxDate: moment() // this is required
});
答案 0 :(得分:0)
由于您添加了maxDate: moment()
,这意味着不计算今天之后的所有日期,这意味着:
它们是相同的,并且由于插件会检查开始日期和结束日期以检查激活范围,因此“今年”将始终是第一次激活。
解决方案: