Jquery UI datepicker限制选择

解决: http : //jsfiddle.net/YV34P/5/

我正在尝试设置datepicker以将选择范围限制为5天。

这是好的和有效的,但现在的问题是“工作日”,没有星期日和星期六,这意味着如果我选择5月18日星期五,我的限制将是5月24日星期四。

任何的想法? 我有以下代码:

$('.datepicker').datepicker({ dayNames: ["Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sábado"], dayNamesMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"], monthNames: ["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"], //dateFormat: "DD, dd MM yy", //altFormat: "DD, dd MM yy", dateFormat: "dd M yy", showAnim: "drop", beforeShow: LimitaRango, beforeShowDay: $.datepicker.noWeekends }); function LimitaRango(input){ if (input.id == 'FechaHasta'){ var minDate = new Date($('#FechaDesde').val()); minDate.setDate(minDate.getDate() + 1); var maxDate = new Date($('#FechaDesde').val()); maxDate.setDate(maxDate.getDate() + 5); return { minDate: minDate, maxDate: maxDate }; } } 

这个HTML:

  Fecha Desde:    Fecha Hasta:   

PS:非常感谢你给予的帮助,但问题在于周末的认可。 现在,我有这个工作,但如果用户选择“星期五”,我的目标是将他的选择限制到星期四,但现在,使用此代码,它仅限于“星期二”,因为周末计入“5天” “从选定的开始日。

您可以使用以下代码禁用周末:

 $("#element").datepicker( { beforeShowDay: $.datepicker.noWeekends } ); 

编辑:要禁用指定的日期,请检查一下:是否可以使jQuery UI Datepicker禁用星期六和星期日(以及假日)?

你想要的是从今天到未来六天的任何时间。 因此,您需要设置选项maxDate。

 var maxd = Date(); maxd.setTime( maxd.getTime() + (1000 * 3600 * 24 * 6) ); $('.datepicker').datepicker({ ... // existing options maxDate: maxd, }); 

使用beforeShowDay事件来限制日期可选择性。 如果此函数返回false,则该日期将不会处于活动状态

 beforeShowDay: function(date) { var dayOfWeek = date.getUTCDay(); if(dayOfWeek ==0 || dayOfWeek ==6) //0= Sunday 6= Saturday { return false; } else { return true; } } 

有关更多详细信息,请参阅http://jqueryui.com/demos/datepicker/#event-beforeShowDay和jQuery ui datepicker,从onSelect获取星期几