.datepicker日历选择不能100%的时间工作

时间:2015-04-21 11:04:01

标签: jquery datepicker

此代码似乎正常工作,除非用户从#startdate输入字段中选择一个新日期时,它只会在前2次更新#enddate字段,而在3日它什么都不做,不确定究竟是什么导致问题......如果有人能够发现问题

我使用以下导入,这就是当我在notepad ++中打开它们时在每个导入的顶部所说的

jquery-ui.css v1.11.2

jquery.js v1.10.2

jquery-ui.js v1.11.2

$(document).ready(function () {
    $("#enddate").datepicker({
        dateFormat: "dd-M-yy",
        onSelect: function (date){
            var dateliveend = $("#enddate").val();                  
            $('#dateliveend').html(dateliveend);    
        }
    });

    $("#startdate").datepicker({
        dateFormat: "dd-M-yy",
        minDate: 0,
        maxDate: 365,
        onSelect: function (date) {
            var enddate = $('#startdate').datepicker('getDate'); 
            var startdate = $('#startdate').datepicker('getDate'); 

            startdate.setDate(startdate.getDate()); 
            enddate.setDate(enddate.getDate() + 28); 
            $('#enddate').datepicker('setDate', enddate);               

            $('#enddate').datepicker('option', 'maxDate', enddate);
            $('#enddate').datepicker('option', 'minDate', startdate);
        }
    });
});

    <input type="text" id="startdate" name="startdate" 
           value=" <?php echo date('d-M-Y', strtotime('+0 day') + 36000); ?>" readonly />

    <input type="text" id="enddate" name="deadline" 
           value=" <?php echo date('d-M-Y', strtotime('+28 day')  +36000); ?>" readonly />

我制作了一个小提琴http://jsfiddle.net/RzD5Z/25/,它向您展示了我正在经历的奇怪行为

1 个答案:

答案 0 :(得分:0)

$('#enddate').datepicker({
    dateFormat: "dd-M-yy",
    minDate: 0,
    defaultDate: "+28d",
    maxDate: "+28d",

        });
$("#startdate").datepicker({
    dateFormat: "dd-M-yy",
    minDate: 0,
    maxDate: 365,
    onClose: function () {

        var enddate = $('#startdate').datepicker('getDate'); 
        var startdate = new Date(enddate); 

        enddate.setDate(enddate.getDate()+28); 

        $('#enddate').datepicker('destroy');
        $('#enddate').datepicker();
        $('#enddate').datepicker('setDate', enddate);               

$('#enddate').datepicker('option', {
                                    dateFormat: "dd-M-yy",
                                    minDate: startdate, 
                                    maxDate: enddate
                                    });                 

    }
});

HTML

<input type="text" id="startdate" readonly />

<input type="text" id="enddate" readonly />

这是解决方案,我相信.datepicker有一个初始化的问题所以我在重新初始化之前将其销毁。看小提琴 - 作品很棒http://jsfiddle.net/RzD5Z/33/