按下btn_insert按鈕會將表單數據保存到我的數據庫中,但數據在日曆屏幕上未更新。我使用.fullCalendar('refetchEvents'),但它不起作用。如果我重新加載頁面,日曆數據會更新。控制器和模型沒有錯誤,但我也將它們放在需要的情況下;我認爲這個問題是在Javascript中發現的。我希望你能幫助我,謝謝大家。Fullcalendar refetchEvents不起作用(AJAX)
PD:我的英語不是很好,我希望你能理解
控制器
<?php
//We show the events
public function geteventos() {
$r = $this->mCalendar->geteventos();
echo json_encode($r);
}
public function insertar_cita() {
//we insert the events
$data = array(
'rut_usu' => $this->input->post('rut_usu'),
'rut_estu' => $this->input->post('rut_estu'),
'id_mot' => $this->input->post('id_mot'),
'fecha_ini' => $this->input->post('fecha_ini'),
'fecha_ter' => $this->input->post('fecha_ter'),
);
$this->load->model('mCalendar');
$this->mCalendar->insertar_cita($data);
}
?>
型號
<?php
public function geteventos() {
//We show the events
$this->db->select('CONCAT(estudiantes.pnombre," ", estudiantes.apellido_pa," ", estudiantes.apellido_ma,", ",motivos_citas.descripcion_mot) As title ,citas.id_ci id, citas.fecha_ini start, citas.fecha_ter end');
$this->db->from('citas');
$this->db->join('estudiantes', 'citas.rut_estu = estudiantes.rut_estu');
$this->db->join('motivos_citas', 'citas.id_mot = motivos_citas.id_mot');
$this->db->join('usuarios', 'citas.rut_usu = usuarios.rut_usu');
//$this->db->where('usuarios.rut_usu=17811942');
return $this->db->get()->result();
}
public function insertar_cita($data) {
/we insert the events
$this->db->insert('citas', $data);
}
?>
的Javascript
<script>
$(document).ready(function() {
//---------------------Full Calendar--------------------------------------
$.post('<?php echo base_url(); ?>cCalendar/geteventos',
function (data) {
//alert(data);
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,agendaWeek,agendaDay,listMonth'
},
defaultDate: new Date(),
navLinks: true, // can click day/week names to navigate views
businessHours: true, // display business hours
editable: true,
events: $.parseJSON(data),
dayClick: function (date, jsEvent, view) {
date_last_clicked = $(this);
$(this).css('background-color', '#bed7f3');
$('#modal_registrar').modal();
},
minTime: "08:30:00",
maxTime: "23:00:00"
});
});
//--------------END fullcalendar-----------------
//---INSERT-----------------------------
$("#btn_insert").click(function() {
var rut_usu = $("#rut_usu").val();
var rut_estu = $("#rut_estu").val();
var id_mot = $("#id_mot").val();
var fecha_ini = $("#fecha_ini").val();
var fecha_ter = $("#fecha_ter").val();
$.ajax({
url: "<?php echo base_url(); ?>" + "cCalendar/insertar_cita/",
type: 'post',
data: {"rut_usu": rut_usu, "rut_estu": rut_estu, "id_mot": id_mot, "fecha_ini": fecha_ini, "fecha_ter": fecha_ter},
success: function (response) {
$("#modal_registrar").modal('hide');
$("#modal_confirmar").modal('show');
$("#calendar").fullCalendar('refetchEvents');
}
});
});
//---END Insert-----------------------------
});
</script>
如果顯示任何錯誤或消息,請嘗試在Web瀏覽器中檢查Javascript控制檯。 –
dashboard.js:13 Uncaught TypeError:$(...)。sortable在HTMLDocument中不是函數 。(dashboard.js:13) at i(jquery-2.2.3.min.js:2) at Object.fireWith [as resolveWith](jquery-2.2.3.min.js:2) at Function。準備好(jquery-2.2.3.min.js:2) at HTMLDocument.J(jquery-2.2.3.min.js:2) –
您應該添加控制檯輸出到問題。 –