输入新事件时更新日历数据

Update calendar data when entering new events

提问人:Anonimo 提问时间:6/13/2023 最后编辑:Anonimo 更新时间:6/13/2023 访问量:62

问:

我以这种方式插入新数据,成功更新数据:

function insertIntoDBrefe($o){

  $o.serializeArray();

  var dadosajax = {
    'reff' : $("#reff").is(":checked") ? $("#reff").val() : '',
    'reff1' : $("#reff1").is(":checked") ? $("#reff1").val() : '',
    'reff2' : $("#reff2").is(":checked") ? $("#reff2").val() : '',
    'almm' : $("#almm").is(":checked") ? $("#almm").val() : '',
    'almm1' : $("#almm1").is(":checked") ? $("#almm1").val() : '',
    'almm2' : $("#almm2").is(":checked") ? $("#almm2").val() : '',
    'almm3' : $("#almm3").is(":checked") ? $("#almm3").val() : '',
    'valref' : $("#valref").val(),
    'Dataref' : $("#Dataref").val(),
    'Datareff' : $("#Datareff").val()
  };
  $.ajax({
    url: 'regerpi.php',
    type: 'POST',
    cache: false,
    data: dadosajax,
    success: function(data){ 
      $('.fform')[0].reset();

      $.getJSON('consrefeicoes.php', function (datta) {

        for (var i = 0; i < datta.length; i++) {
      
          PequenoAlm = datta[i].PequenoAlm;
          Alm = datta[i].Alm;
          Lan = datta[i].Lan;
          jant = datta[i].jant;
          Ceia = datta[i].Ceia;
          Valencia = datta[i].Valencia;
          Ano = datta[i].Ano;
          Colaborador = datta[i].Colaborador;
          mes = datta[i].mes;
          dia = datta[i].dia;
          Data = datta[i].Data;
          Idm = datta[i].Id;

          var testees = [];
          var testees = [PequenoAlm, Alm, Lan, jant, Ceia];
        
          var testees1 = testees.filter(Boolean).join(', ');
            
          event_data.events.push({
            "occasion": testees1,
            "invited_count": Idm,
            "year": Number(Ano),
            "month": Number(mes),
            "day": Number(dia)
          })
            
        };
      
        init_calendar(new Date())
      
      });


    }
  });
}

这样可以更新日历中的新事件,但会复制现有事件。

init_calendar功能:

function init_calendar(date) {
  $(".tbody").empty();
  $(".events-container").empty();
  var calendar_days = $(".tbody");
  var month = date.getMonth();
  var year = date.getFullYear();
  var day_count = days_in_month(month, year);
  var row = $("<tr class='table-row'></tr>");
  var today = date.getDate();

  date.setDate(1);
  var first_day = date.getDay();

  for(var i=0; i<35+first_day; i++) {

    var day = i-first_day+1;

    if(i%7===0) {
        calendar_days.append(row);
        row = $("<tr class='table-row'></tr>");
    }

    if(i < first_day || day > day_count) {
        var curr_date = $("<td class='table-date nil'>"+"</td>");
        row.append(curr_date);
    }   
    else {
        var curr_date = $("<td class='table-date'>"+day+"</td>");
        var events = check_events(day, month+1, year);
        if(today===day && $(".active-date").length===0) {
            curr_date.addClass("active-date");
            show_events(events, months[month], day);
        }
  
        if(events.length!==0) {
            curr_date.addClass("event-date");
        }
      
        curr_date.click({events: events, month: months[month], day:day}, date_click);
        row.append(curr_date);
    }
  }

  calendar_days.append(row);
  $(".year").text(year);

  calendar_days.append(row);
  if(month == 0){
    $(".mes").text("Janeiro");
  }
  if(month == 1){
    $(".mes").text("Fevereiro");
  }
  if(month == 2){
    $(".mes").text("Março");
  }
  if(month == 3){
    $(".mes").text("Abril");
  }
  if(month == 4){
    $(".mes").text("Maio");
  }
  if(month == 5){
    $(".mes").text("Junho");
  }
  if(month == 6){
    $(".mes").text("Julho");
  }
  if(month == 7){
    $(".mes").text("Agosto");
  }
  if(month == 8){
    $(".mes").text("Setembro");
  }
  if(month == 9){
    $(".mes").text("Outubro");
  }
  if(month == 10){
    $(".mes").text("Novembro");
  }
  if(month == 11){
    $(".mes").text("Dezembro");
  }
    
}

我打算在更新新事件时不会重复以前的事件。

我也尝试过在成功中使用这段代码,但它也不起作用:

$(".tbody").empty(); 
$(".events-container").empty();

在这个问题中,您拥有完整的代码来生成包含数据库中事件的日历:

与此问题相关的问题

我已经尝试了几次,但都没有奏效,谁能告诉我我必须做什么?

JavaScript的

评论


答: 暂无答案