0

我有 2 个日期选择器,一个用于 dateend,另一个用于 datestart。当您单击它时,我在 html 中有一个按钮,将出现一个对话框表单。然后是询问数据并以模态形式填充元素。模态表单具有日期结束和日期开始。但似乎 datestart 是唯一一个填充的。请帮忙。我真的不知道怎么了,卡了4天多

<script type="text/javascript">
$(document).ready(function () {
    $("#dialog-form").dialog({
        autoOpen: false,
        show: "drop", //explode
        hide: "clip",
        autoResize: true,
        height: '500',
        width: 'auto',
        draggable: false,
        modal: true,
        resizable: false
    });
    $('input[type="button"]').click(function () {
        var buttonHolder = $('input[type="button"]');
        $("#dialog-form").dialog("open");
        $("#timeStart").timepicker({});
        $("#dateStart").datepicker({
            defaultDate: "+1w",
            dateFormat: "yy/mm/d",
            changeMonth: true,
            changeYear: true,
            numberOfMonths: 3,
            minDate: new Date(), // min date should be date of today or the date which he set as startdate
            onClose: function () { //selectedDate should be value. i think. problem lies in the selected.
                $("#dateEnd").datepicker("option", "minDate", $(this).val());
            }
        });
        $("#dateEnd").datepicker({
            defaultDate: "+1w",
            dateFormat: "yy/mm/d",
            changeMonth: true,
            changeYear: true,
            numberOfMonths: 3,
            onClose: function () {
                $("#dateStart").datepicker("option", "maxDate", $(this).val()); //$(this).val()
            }
        });
        $.ajax({
            type: "POST",
            dataType: "json",
            url: "<?php echo site_url('ajax/getEventOfModal'); ?>",
            data: {
                id: $(this).attr('id'),
                username: "<?php echo $this->session->userdata('email'); ?>"
            },
            success: function (data) {
                $("#event_id").attr('value', buttonHolder.attr('id'));
                $("#event_name").attr('value', data['name']);
                $("#event_loc").text(data['loc']);
                $("#event_desc").text(data['desc']);
                $("#timeStart").timepicker('setTime', data['timeStart']);
                var queryDate = data['dateStart'],
                    dateParts = queryDate.match(/(\d+)/g)
                    realDate = new Date(dateParts[0], dateParts[1] - 1, dateParts[2]); // months are 0-based!
                $('#dateStart').datepicker('setDate', realDate);
                var queryDate2 = data['dateEnd'],
                    dateParts2 = queryDate2.match(/(\d+)/g)
                    realDate2 = new Date(dateParts2[0], dateParts2[1] - 1, dateParts2[2]); // months are 0-based!
                $('#dateEnd').datepicker('setDate', realDate2);
            }
        });
    });
});
</script>
4

1 回答 1

0

尝试defaultdate从 jquery datepicker 中删除。

于 2013-01-11T05:12:50.463 回答