这段代码似乎正常工作,除非用户从#startdate输入字段中选择一个新日期,它只在前2次更新#enddate字段,而在第3次它什么也不做,不确定到底是什么导致了问题.如果有人能发现这个问题
我使用以下导入,在notepad++中打开它们时,每个导入的顶部都是这样的
jquery-ui.css v1.11.2
jquery.js v1.10.2
jquery-ui.js v1.11.2
$(document).ready(function () {
$("#enddate").datepicker({
dateFormat: "dd-M-yy",
onSelect: function (date){
var dateliveend = $("#enddate").val();
$('#dateliveend').html(dateliveend);
}
});
$("#startdate").datepicker({
dateFormat: "dd-M-yy",
minDate: 0,
maxDate: 365,
onSelect: function (date) {
var enddate = $('#startdate').datepicker('getDate');
var startdate = $('#startdate').datepicker('getDate');
startdate.setDate(startdate.getDate());
enddate.setDate(enddate.getDate() + 28);
$('#enddate').datepicker('setDate', enddate);
$('#enddate').datepicker('option', 'maxDate', enddate);
$('#enddate').datepicker('option', 'minDate', startdate);
}
});
});
<input type="text" id="startdate" name="startdate"
value=" <?php echo date('d-M-Y', strtotime('+0 day') + 36000); ?>" readonly />
<input type="text" id="enddate" name="deadline"
value=" <?php echo date('d-M-Y', strtotime('+28 day') +36000); ?>" readonly />我做了一个小提琴http://jsfiddle.net/RzD5Z/25/,向你展示了我正在经历的奇怪行为
发布于 2015-04-23 02:16:32
$('#enddate').datepicker({
dateFormat: "dd-M-yy",
minDate: 0,
defaultDate: "+28d",
maxDate: "+28d",
});
$("#startdate").datepicker({
dateFormat: "dd-M-yy",
minDate: 0,
maxDate: 365,
onClose: function () {
var enddate = $('#startdate').datepicker('getDate');
var startdate = new Date(enddate);
enddate.setDate(enddate.getDate()+28);
$('#enddate').datepicker('destroy');
$('#enddate').datepicker();
$('#enddate').datepicker('setDate', enddate);
$('#enddate').datepicker('option', {
dateFormat: "dd-M-yy",
minDate: startdate,
maxDate: enddate
});
}
});HTML
<input type="text" id="startdate" readonly />
<input type="text" id="enddate" readonly />这是一个解决方案,我相信.datepicker在初始化上有问题,所以在重新初始化之前我会销毁它。参见小提琴- http://jsfiddle.net/RzD5Z/33/
https://stackoverflow.com/questions/29770396
复制相似问题