После успеха ajax и загрузки конкретного div содержимое исчезло - PullRequest
0 голосов
/ 18 апреля 2019

Я делаю календарь событий. После добавления события будут загружены только ячейки календаря после успешной вставки данных. Добавление события в порядке, но при загрузке div содержимое исчезает. Вот мой код:

* Ajax *

$('.savedata').on('click', function () {
                // alert('savedata');
                var testchecked = $('#testchecked').val();
                var testingcheck = $('#testingcheck').val();
                $.ajax({
                    type : "POST",
                    url  : "<?php echo site_url()?>/CalendarController/savedata",
                    // dataType : "JSON",
                    data : { testchecked : testchecked, testingcheck : testingcheck },
                    success: function(data){
                        // alert('success');
                        //console.log('asd '+data);

                        $('#events-modal').modal('hide');
                        // cal-month-box
                        // $(".cal-month-day").append(JSON.stringify(data));
                        // $(".cal-month-day").load(window.location + " .cal-month-day");
                        // $('.cal-month-day').prepend(_newData);
                        $(".cal-month-day").load(location.href + " .cal-month-day");
                    },
                    error : function(data, ajaxOptions, thrownError) {
                        console.log(data.status);
                    }
                    });
                });

* Перед добавлением данных *

enter image description here

* после добавления события *

enter image description here

* Вот HTML *

enter image description here

* Контроллер *

public function savedata()
    {
        $this->load->view('calendarView');

        $this->em->form_insert();

    }

* Модель *

function form_insert()
    {
        $abc            = $this->input->post('testchecked');

        $array = array('id' => $abc);
        $this->db->select("*");
        $this->db->where($array);
        $query = $this->db->get('dev_adkt_events_type');
        $response = $query->result_array();
        foreach($response as $res){
            $title = $res['id'];
        }


        $url            = 'URL';
        $class          = $this->input->post('testchecked');
        $start_date     = $this->input->post('testingcheck');
        $end_date       = $this->input->post('testingcheck');

        $data = array(
            'title'     => $title,
            'url'       => $url,
            'class'     => $class,
            'start_date'=> $start_date ,
            'end_date'  => $end_date 
        );

        // $this->db->insert('event',$data);
        $result = $this->db->insert('event',$data);
        return $result;

    }

Надеюсь, вы могли бы помочь мне, ребята. Заранее спасибо.

* Отображение календаря *

Контроллер

public function index() {
        $this->load->helper('url');
        // var_dump($postData);
        $result['eventcatresult'] = $this->em->geteventcategory();
        $result['data'] = $this->em->getevent();
        $result['data'] = $this->em->getnotes();

        $this->load->view('calendarView',$result);
    }

* Модель *

function getevent()
    {
        $this->db->select("*");
        $query = $this->db->get($this->event);
        if ($query) {
            return $query->result();
        }
        return NULL;
    }

1 Ответ

0 голосов
/ 18 апреля 2019

тебе лучше изменить это

$(".cal-month-day").load(location.href + " .cal-month-day");

к этому

$("#calendar").load(location.href + " #calendar");

потому что у вас есть несколько 'cal-month-day' для каждого события, и если последний элемент пуст, все ваши элементы будут пустыми
лучше обновить весь календарь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...