英文:
Is there a way to isolate the months in javascript daterangepicker?
问题
我正在将日期范围选择器集成到我的应用程序中,并想知道如何限制每个月仅显示该月的日期。例如:
我希望是这样(请参见左侧的日历):
但默认情况如下:
我已经查看了日期范围选择器文档,但找不到可以实现这一目标的配置。
我的日期范围选择器初始化:
$("#reportrange").daterangepicker
ranges:
"上周": [moment().subtract("days", moment().day() + 1).subtract("days", 6), moment().subtract("days", moment().day() + 1)]
"本周至今": [moment().subtract("days", moment().day()), moment()]
"上个月": [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
startDate: moment().subtract("days", moment().day() + 1).subtract("days", 6)
endDate: moment().subtract("days", moment().day() + 1),
alwaysShowCalendars: true
, (start, end, label) ->
$("#reportrange span").html start.format("YYYY年MM月D日") + " - " + end.format("YYYY年MM月D日")
$("[name*='_start_date']").val(start.format("ddd, D MMM YYYY"))
$("[name*='_end_date']").val(end.format("ddd, D MMM YYYY")).trigger 'change'
我的带有Ruby模板的日期范围选择器前端:
.grid-24.box
.grid-12
%h3 选择日期范围
#reportrange
%i.glyph-calendar.icon-large
%span= "#{(DateTime.now - (DateTime.now.wday + 1) - 6).strftime("%Y年%m月%d日")} - #{(DateTime.now - (DateTime.now.wday + 1)).strftime("%Y年%m月%d日")} "
%b.caret
=hidden_field_tag "charge_start_date", DateTime.now.prev_month.strftime("%a, %d %b %Y")
=hidden_field_tag "charge_end_date", DateTime.now.strftime("%a, %d %b %Y")
.grid-24#display-charges
=render :partial => "user_charge_data_display", :locals => {users: @users, start_range: (DateTime.now - 30), end_range: DateTime.now}
英文:
I'm implementing a daterangepicker into my application and am wondering how to confine each month to ONLY that month. For example:
I would like this (see the left hand calendar):
But the default is like this
I've reviewed the DateRangePicker Documentation and cannot see a configuration that will do this for me.
My DateRangePicker initilization:
$("#reportrange").daterangepicker
ranges:
"Last Week": [moment().subtract("days", moment().day() + 1).subtract("days", 6), moment().subtract("days", moment().day() + 1)]
"Week to Date": [moment().subtract("days", moment().day()), moment()]
"Last Month": [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
startDate: moment().subtract("days", moment().day() + 1).subtract("days", 6)
endDate: moment().subtract("days", moment().day() + 1),
alwaysShowCalendars: true
, (start, end, label) ->
$("#reportrange span").html start.format("MMMM D, YYYY") + " - " + end.format("MMMM D, YYYY")
$("[name*='_start_date']").val(start.format("ddd, D MMM YYYY"))
$("[name*='_end_date']").val(end.format("ddd, D MMM YYYY")).trigger 'change'
My DateRangePicker Frontend with ruby templating
.grid-24.box
.grid-12
%h3 Select Date Range
#reportrange
%i.glyph-calendar.icon-large
%span= "#{(DateTime.now - (DateTime.now.wday + 1) - 6).strftime("%B %d, %Y")} - #{(DateTime.now - (DateTime.now.wday + 1)).strftime("%B %d, %Y")} "
%b.caret
=hidden_field_tag "charge_start_date", DateTime.now.prev_month.strftime("%a, %d %b %Y")
=hidden_field_tag "charge_end_date", DateTime.now.strftime("%a, %d %b %Y")
.grid-24#display-charges
=render :partial => "user_charge_data_display", :locals => {users: @users, start_range: (DateTime.now - 30), end_range: DateTime.now}
答案1
得分: 1
无法以程序方式找到此方法,使用开发人员提供的配置。但是,在这种情况下,您可以始终使用CSS解决方法,通过将visibility: hidden;
应用于超出当前月份日期的项目的CSS类。这是我所做的:
.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
visibility: hidden;
}
结果如下:
英文:
I went through the documentation and couldn't find the way to do it programmatically, using developers' provided configuration.
However, in such situation, you can always go with CSS work-around, by applying visibility: hidden;
to the CSS class of the items that are beyond the current month date.
Here's what I did:
.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
visibility: hidden;
}
And here's the result:
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论