jQuery datepicker限制可选年份 [英] jQuery datepicker restricts selectable year

查看:108
本文介绍了jQuery datepicker限制可选年份的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两个只能返回年龄(即2014/2015)的日期检查员。 Datepicker 56必须等于或大于datepicker55,这在一个重要的代码中实现。选择时的Datepicker56可以等于或大于datepicker55但是如果我将datepicker55更改为2011/2012,那么选择datepicker56将我的年份修改为2011/2012将不会让我在2015年第一次可以选择年份。Datepicker56可以是自己也选择了。但是,如果55被选中,然后再删除56再次陷入2015年,并且不会让任何前几年被选中。有办法解决这些问题吗?

  $(#datepicker55)。datepicker({
dateFormat:yy,
onSelect :function(d){
$(this).val((parseInt(d) - 1)+'/'+ d);
var date1 = $('#datepicker55')datepicker 'getDate');
var date = new Date(Date.parse(date1));
date.setDate(date.getDate()+ 1);
var newDate = date.toDateString ();
newDate = new Date(Date.parse(newDate));
$('#datepicker56')。datepicker(option,minDate,newDate);

},
viewMode:years,
changeYear:true,
beforeShowDay:$ .datepicker.noWeekends
});

$(#datepicker56)。datepicker({
dateFormat:yy,
onSelect:function(d){
$(this) ((parseInt(d) - 1)+'/'+ d);
},
viewMode:years,
changeYear:true,
beforeShowDay:$ .datepicker .noWeekends
});


解决方案

根据 Datepicker API文档 null 是<$ c的默认值$ c> minDate

  $(#datepicker55)on(change (){
if($(this).val()===){//从中删除值
$(#datepicker56)。datepicker(option minDate,null);
}
});


I have two datepickers which only return years (i.e. 2014/2015). Datepicker 56 must be equal to or greater than datepicker55, which in one resepect the below code achieves. Datepicker56 when selected can be equal to or greater than datepicker55 however if I change datepicker55 to 2011/2012 then select datepicker56 to amend my year as being 2011/2012 it won't let me, it's first selectable year sticks at 2015. Datepicker56 can be selected on its own also. However if 55 is selected and then removed 56 again gets stuck on 2015 and won't let any previous years be selected. Is there a way to solve these issues?

$("#datepicker55").datepicker({
    dateFormat: "yy",
    onSelect: function(d) {
        $(this).val((parseInt(d) - 1) + '/' + d);
        var date1 = $('#datepicker55').datepicker('getDate');
        var date = new Date(Date.parse(date1));
        date.setDate(date.getDate() + 1);
        var newDate = date.toDateString();
        newDate = new Date(Date.parse(newDate));
        $('#datepicker56').datepicker("option", "minDate", newDate);

    },
    viewMode: "years",
    changeYear: true,
    beforeShowDay: $.datepicker.noWeekends
});

$("#datepicker56").datepicker({
    dateFormat: "yy",
    onSelect: function(d) {
        $(this).val((parseInt(d) - 1) + '/' + d);
    },
    viewMode: "years",
    changeYear: true,
    beforeShowDay: $.datepicker.noWeekends
});

解决方案

According to the Datepicker API doc, null is the default value for minDate

$("#datepicker55").on("change", function() {
    if ($(this).val() === "") { // you deleted the value from it
        $("#datepicker56").datepicker("option", "minDate", null);
    }
});

这篇关于jQuery datepicker限制可选年份的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆