我正在尝试根据To
日期允许from
日期。如果我选择from date
为24-04-2017
表示,To date
应该允许24-04-2017
的日期仅限1}}。我该怎么做?
$(document).ready(function(){
pastDaysdisable()
})
function pastDaysdisable() {
var dtToday = new Date();
var month = dtToday.getMonth() + 1;
var day = dtToday.getDate();
var year = dtToday.getFullYear();
if (month < 10)
month = '0' + month.toString();
if (day < 10)
day = '0' + day.toString();
var maxDate = year + '-' + month + '-' + day;
$('#levFrom,#levTo').attr('min', maxDate);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="date" id="levFrom">
<input type="date" id="levTo">
答案 0 :(得分:1)
每次更改基准日期时,我们会将其值分配给currentDate
变量,并将minDate
属性应用于我们的#fromDate
日期选择器。
阅读我的评论以便更好地理解。
$( function() {
$( "#baseDate" ).datepicker({
dateFormat: "yy-mm-dd"
});
// if you set default date
var currentDate = $( "#baseDate" ).datepicker( "getDate" );
$( "#fromDate" ).datepicker({
dateFormat: "yy-mm-dd",
minDate: currentDate
});
// If we change "fromDate"
$( "#baseDate" ).change(function() {
// get min date
currentDate = $( "#baseDate" ).datepicker( "getDate" );
// set min date
$( "#fromDate" ).datepicker( "option", "minDate", currentDate );
console.log(currentDate);
});
} );
&#13;
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<link rel="stylesheet" href="/resources/demos/style.css">
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<p>Date From: <input type="text" id="baseDate"></p>
<p>Min Date: <input type="text" id="fromDate"></p>
&#13;
答案 1 :(得分:1)
您需要在from-date
上绑定一些事件。 blur
或input
或change
可以从from-date
中捕获所选日期。休息与您在那里完全相同,只需使用Date对象的{ - 1}}。
请注意,下面的示例是Javascript(没有jQuery)。如果你真的需要,你可以很容易地为jQuery调整它。
示例:强>
value
var from = document.getElementById('levFrom'),
to = document.getElementById('levTo')
;
from.addEventListener('change', limitDates);
function limitDates(e) {
var fromDate = new Date(from.value),
minDate = []
;
minDate[0] = fromDate.getFullYear();
minDate[1] = (fromDate.getMonth() + 1) < 10 ? '0' + (fromDate.getMonth() + 1) : (fromDate.getMonth() + 1);
minDate[2] = fromDate.getDate() < 10 ? '0' + fromDate.getDate() : fromDate.getDate();
to.setAttribute('min', minDate.join('-'));
}
答案 2 :(得分:0)
您好使用jquery-ui datepicker()实现了这一点。
$("#valid_from").datepicker({
minDate: 0,
onClose: function(selectedDate) {
$("#valid_upto").datepicker("option", "minDate", selectedDate);
}
});
$("#valid_upto").datepicker({
minDate: 0
});
HTML代码:
<input type="text" placeholder="Select from date" id="valid_from" name="valid_from">
<input type="text" placeholder="Select upto date" id="valid_upto" name="valid_upto">