如果用户没有在jquery中输入结束日期,如何将开始日期设置为默认结束日期?
这应该行得通如果用户没有在jquery中输入结束日期,如何将开始日期设置为默认结束日期?,jquery,jquery-ui,jquery-ui-datepicker,Jquery,Jquery Ui,Jquery Ui Datepicker,这应该行得通 var dates = $("#filterDateStart, #filterDateEnd").datepicker({ dateFormat: "yy-mm-dd", changeMonth: true, numberOfMonths: 1, onSelect: function (selectedDate) { var option = this.id == "filterDateSta
var dates = $("#filterDateStart, #filterDateEnd").datepicker({
dateFormat: "yy-mm-dd",
changeMonth: true,
numberOfMonths: 1,
onSelect: function (selectedDate) {
var option = this.id == "filterDateStart" ? "minDate" : "maxDate",
instance = $(this).data("datepicker"),
date = $.datepicker.parseDate(
instance.settings.dateFormat ||
$.datepicker._defaults.dateFormat,
selectedDate, instance.settings);
dates.not(this).datepicker("option", option, date);
}
});
编辑
用于测试的HTML:
$("#filterDateStart").datepicker({
onSelect: function () {
var dateObj = $(this).datepicker( 'getDate' );
$("#filterDateEnd").datepicker( "option", "defaultDate", dateObj);
}
});
编辑2:
当您为开始日期选择任何内容时,单击一次,结束日期应自动变为与开始日期相同。如果将开始日期编辑为>结束日期,则结束日期应自动成为开始日期。如果您将开始日期编辑为<结束日期,并且低于您以前可能拥有的开始日期,则结束日期不应受到影响。请检查其他编辑。首先,您在开始时没有要求实现此功能,其次,您可以尝试一点但更努力地解决此问题,并自己编辑我以前的答案逻辑非常清楚!
<form id="testForm" action="#">
<p>Date: <input type="text" id="filterDateStart" /></p>
<p>Date: <input type="text" id="filterDateEnd" /></p>
<input type="submit" value="check end date default "/>
</form>
$(document).ready(function(){
$("#filterDateStart").datepicker({
dateFormat: "yy-mm-dd",
changeMonth: true,
numberOfMonths: 1,
onSelect: function () {
var startDate = $(this).datepicker( 'getDate');
var endDate = $("#filterDateEnd").datepicker( 'getDate' );
if($("#filterDateEnd").datepicker( 'getDate' ) == null || startDate > endDate)
{
$("#filterDateEnd").datepicker( "setDate", startDate );
}
}
});
$("#filterDateEnd").datepicker({
dateFormat: "yy-mm-dd",
changeMonth: true,
numberOfMonths: 1
});
$("#testForm").submit(function(e){
e.preventDefault();
alert( $("#filterDateEnd").datepicker("getDate"));
})
});