我想显示根据可选天数显示的月数。
所以一个例子是,如果我有15天可供选择,日期从今天开始(2013年4月23日),我希望只有4月和5月显示为可供选择的月份数。< / p>
同样,如果可选择的天数60,我想将4月,5月和6月显示为显示的月数。
因此,从本质上讲,如何显示所显示的月数是以可选天数为条件的?
非常感谢提前。
我的插件
$.fn.showCalendar = function(options){
var defaults ={
selector : "#date-selector",
calendarIcon : "./images/icons/calendar.gif",
numberOfSelectableDays : "+60D",
dateFormat: "dd/mm/yy",
numberOfMonths : 3,
daySelector : "#day",
monthSelector : "#month",
yearSelector : "#year"
}
var $this = $(this);
var params = $.extend({},defaults, options);
var getDateFromDropDowns = function(){
var dateOnDropDowns = new Date($(params.daySelector).val(),$(params.monthSelector).val(),$(params.yearSelector).val());
return dateOnDropDowns;
}
return $this.each(function(){
$this.datepicker({
showOn: "button",
buttonImage: params.calendarIcon,
minDate: 0,
maxDate: params.numberOfSelectableDays,
dateFormat: params.dateFormat,
buttonImageOnly: true,
numberOfMonths: params.numberOfMonths,
setDate : getDateFromDropDowns,
onClose: function(dateText, inst) {
$(params.yearSelector).val(dateText.split('/')[2]);
$(params.daySelector).val(dateText.split('/')[0]);
$(params.monthSelector).val(dateText.split('/')[1]);
}
});
});
},
答案 0 :(得分:0)
根据评论进行更新
更新屏幕上一次显示的月数
您可以使用此代码o计算月数
var d = new Date();
var n = d.getDate();
var total=n+60;
var numberOfMonthsVal=Math.floor(total/30)+1;
并在$this.datepicker({
中使用numberOfMonths:numberOfMonthsVal
使用JQuery UI日期选择器
$(function() {
$( "#datepicker" ).datepicker({ minDate: -20, maxDate: "+1M +10D" }); // Thiw will sow the dates Today -20 to today + 1 Month +10 days
});
在你的情况下,你想在今天的60天后显示说出来吗?
$(function() {
var day=new Date();
$( "#datepicker" ).datepicker({ minDate: day, maxDate: (day+60) });
});
http://jqueryui.com/datepicker/#min-max
因此,当您致电$this.datepicker({
时,在您的插件中传递值
minDate: myDate,
maxDate: (myDate+60)
其中mydate is actual Date object like var mydate=new Date();