0

dateend 用と datestart 用の 2 つの日付ピッカーがあります。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

defaultdatejquery datepicker から を削除してみてください。

于 2013-01-11T05:12:50.463 に答える