我想說這句話我知道很少的JavaScript。更新引導日期範圍Datepicker只允許結束日期在開始日期的財政年度內
我有一個使用日期範圍的自舉日期選擇器,從eternicode中選取。
我的目標是在startDate中選擇一天,然後讓endDate的日子只在startDate和startDate的財政年度之內或之後。
例子:
如果我選擇了2016年10月1日,將結束日期應在2017年9月30日
上限,如果我選擇了2017年1月12日,在結束日期應在九月上限出2017年第30
如果我選擇了2017年9月30日,結束日期的也應該是2017年9月30日
差不多,如果起始日期的月份是在[十月,十一月,十二月]然後 結束日期爲9月30日蓋出來(的startDate年+ 1),否則結束日期帽 了在9月30日(的startDate年)
在我reportWebpage.cshtml文件我有:
<div class="col-md-2">
Date Range:
</div>
<div class="col-md-5" id="dateRangeContainer">
<div class="input-daterange input-group" id="datepicker">
@Html.TextBox("startDate", "", new { @class = "input-sm form-control", name= "startDate" })
<span class="input-group-addon">to</span>
@Html.TextBox("endDate", "", new { @class = "input-sm form-control", name = "endDate" })
</div>
</div>
在我related.js我有一個非常基本的日期選擇器設置:
$(function() {
$('#dateRangeContainer .input-daterange').datepicker({
autoclose: true,
todayBtn: "linked",
clearBtn: true
});
});
我知道有一個datesDisable屬性可以設置,而它的功能是我想要的,它似乎是基於一個日期數組,這似乎是錯誤的想法。
作爲一項測試,我用以下所示替換了上面的datapicker js代碼。
如在此SO Answer我嘗試添加一個onSelect
屬性只是#startDate
日期選擇器,但我沒有收到來自嵌入式警報的響應,也不是谷歌Chrome瀏覽器的開發者工具擊打置於其上調試點:
$('#startDate').datepicker({
onSelect: function() {
var date = $(this).datepicker('getDate'),
day = date.getDate(),
month = date.getMonth() + 1, // Offset the zero index to match normal month indexes
year = date.getFullYear();
alert(day + '-' + month + '-' + year);
}
});
我希望通過這樣做我至少可以開始構建一些if else循環或其他東西。
我很想弄清楚如何開始這個問題,所以任何幫助或建議將非常感激!
編輯1: 我想通了,試圖禁用一個巨大的日期範圍是考慮到這個問題的錯誤的方式,那我應該集中精力利用setStartDate和setEndDate性能。
使用一些組合的技巧,從這些所謂的答案:
Bootstrap datepicker change minDate/startDate from another datepicker
Print Var in JsFiddle(這是大多隻是一個幫手,給信貸,信貸是由於)
我將此JSFiddle一起混合:http://jsfiddle.net/wsodjsyv/203/
它現在的位置在哪裏,它是限制適當財政年度的工作。我只需要對其進行調整,以便在清除結束日期時,我可以將開始日期再次移至該點。現在需要刷新,如果我確定我想移動開始日期9月30日(無論選擇哪年)
請隨時提出建議或編輯此答案。我懷疑我的代碼是最乾淨的,因爲它對我來說感覺有點混亂和重複。 –