在jquery datepicker中设置minDate没有任何意义?

我这样写的..

 $(function() { $('#from').datepicker({ defaultDate: "+5d", changeMonth: true, numberOfMonths:1 , minDate:"+0d", dateFormat: 'DD, MM d, yy', onSelect: function(selectedDate) { var option = this.id == "from" ? "minDate" : "maxDate"; var instance = $(this).data("datepicker"); var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings); dates.not(this).datepicker("option", option, date); } }); }); $(function() { $('#to').datepicker({ defaultDate: "+5d", changeMonth: true, numberOfMonths:1 , minDate:"+0d", dateFormat: 'DD, MM d, yy', onSelect: function(selectedDate) { var option = this.id == "from" ? "minDate" : "maxDate"; var instance = $(this).data("datepicker"); var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings); dates.not(this).datepicker("option", option, date); } }); }); function callme(id){ var temp1 = "#" + id; if(temp1 == "#from"){ $("#to").unbind(); } else{ var temp = $("#from").val(); var msecsInADay = 86400000; var startDate = new Date(temp); var endDate = new Date(startDate.getTime() + msecsInADay); var t = endDate.getDate() + '/' + (endDate.getMonth()+1) + '/' + endDate.getFullYear(); $('#to').datepicker({minDate: new Date(t)}); $('#to').datepicker().datepicker("show"); } }      

现在我想要的是……
当我选择第一个日期。 [日期之前]应在日历之前禁用[#from“]之前的日期。
现在,当我选择第二个日期[日期日期中的“#to”]时,应该开始一天加。 然后是上个日期。

但是这里的最小日期并没有改变。

提前致谢…

如果我理解你的问题(和代码,因为提供的代码比你的规范更多)你想要以下行为:

  1. 当选择#from的日期F ,您应该只能在#to选择大于F#to
  2. 当选择#to的日期T ,在#to#to选择大于或等于T日期

这段代码将执行此操作:

 $(function() { $('#from').datepicker({ defaultDate: '+5d', changeMonth: true, numberOfMonths:1, minDate:'+0d', dateFormat: 'DD, MM d, yy', onClose: function(dateText, inst) { if (dateText !== '') { try { var fromDate = $.datepicker.parseDate(inst.settings.dateFormat, dateText, inst.settings); fromDate.setDate(fromDate.getDate() + 1); $('#to').datepicker('option', 'minDate', fromDate); } catch (err) { console.log(err); } } else { //If #from is empty, restore the original limit in #to $('#to').datepicker('option', 'minDate', '+0d'); } } }); $('#to').datepicker({ defaultDate: '+5d', changeMonth: true, numberOfMonths:1, minDate:'+0d', dateFormat: 'DD, MM d, yy', onClose: function(dateText, inst) { if (dateText !== '') { try { var toDate = $.datepicker.parseDate(inst.settings.dateFormat, dateText, inst.settings); toDate.setDate(toDate.getDate() - 1); $('#from').datepicker('option', 'maxDate', toDate); } catch (err) { console.log(err); } } else { //If #to is empty, remove the limit in #from $('#from').datepicker('option', 'maxDate', null); } } }); }); 

两个onClose函数非常相似,可以推广到一个函数中,但我认为通过这种方式更容易理解正在发生的事情。

此外,不再需要#from#toonClick处理程序。