JQuery日期选择器日期范围和月份
我想根据可选择的天数显示显示的月数 例如,如果我有15天可供选择,日期从今天(2013年4月23日)开始,我只希望4月和5月显示为可供选择的月数 同样,如果可选天数为60天,我希望显示4月、5月和6月的月份数 所以本质上,我如何使显示的月数取决于可选择的天数 非常感谢 我的插件JQuery日期选择器日期范围和月份,jquery,jquery-ui,datepicker,uidatepicker,Jquery,Jquery Ui,Datepicker,Uidatepicker,我想根据可选择的天数显示显示的月数 例如,如果我有15天可供选择,日期从今天(2013年4月23日)开始,我只希望4月和5月显示为可供选择的月数 同样,如果可选天数为60天,我希望显示4月、5月和6月的月份数 所以本质上,我如何使显示的月数取决于可选择的天数 非常感谢 我的插件 $.fn.showCalendar = function(options){ var defaults ={ selector : "#date-selector", calend
$.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]);
}
});
});
},
根据评论更新
更新屏幕上每次显示的月数您可以使用此代码计算月数
var d = new Date();
var n = d.getDate();
var total=n+60;
var numberOfMonthsVal=Math.floor(total/30)+1;
在$this.datepicker({
使用numberOfMonthsVal:numberOfMonthsVal
使用jQueryUI日期选择器
$(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) });
});
因此,在您的插件中,当您调用$this.datepicker({
传递下面的值
minDate: myDate,
maxDate: (myDate+60)
其中,
mydate是实际的日期对象,比如var mydate=new Date();
您能告诉我们您已经尝试了什么吗?我建议在这里显示与问题相关的代码。而不是链接到编辑并添加到页面中的其他问题:)这是在同一屏幕上显示给用户的月数,在我所关注的某个给定点上彼此相邻。我想您可能误解了这个问题。感谢您的关注:)然后您可以点击numberOfMonths
类似的内容…var d=new Date();var n=d.getDate();var total=n+60;//60 o 15您想添加var numberOfMonths=(total/30)+1的天数;
我最后自己用了几个自定义函数编写了这篇文章。谢谢您的帮助:)