Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JQuery日期选择器日期范围和月份_Jquery_Jquery Ui_Datepicker_Uidatepicker - Fatal编程技术网

JQuery日期选择器日期范围和月份

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

我想根据可选择的天数显示显示的月数

例如,如果我有15天可供选择,日期从今天(2013年4月23日)开始,我只希望4月和5月显示为可供选择的月数

同样,如果可选天数为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]);
            }
        });
    });
},  
根据评论更新 更新屏幕上每次显示的月数
您可以使用此代码计算月数

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的天数;
我最后自己用了几个自定义函数编写了这篇文章。谢谢您的帮助:)