Полный календарь dayClick код срабатывает только один раз: что я делаю не так? - PullRequest
0 голосов
/ 05 августа 2010

Я вставляю события в таблицу mysql, используя виджет Dialog UI jQuery, и я застрял только с одной вставкой в ​​dayClick. Чтобы вставить другое событие, мне нужно обновить страницу: /

Вот код `dayClick: function (date, allDay, jsEvent, view) {

      if (view.name=='month') {
 $('#calendar').fullCalendar( 'changeView', 'agendaWeek' );

}
else {

      // change the day's background color just for fun
      $(this).css('background-color', 'red');
$("#dialog-form #pdal").val($.fullCalendar.formatDate( date, 'yyyy-MM-dd' ));
$("#dialog-form #pdalle").val($.fullCalendar.formatDate( date, 'HH:mm' )).attr("value",$.fullCalendar.formatDate( date, 'HH:mm' ));
$("#dialog-form #palle option[value='"+$.fullCalendar.formatDate( date, 'HH:mm' )+"']").attr("selected","selected");
$('#dialog-form #risorsa').val("0");
$('#dialog-form #CheckboxGroup1_0').attr("checked","checked").val($.fullCalendar.formatDate( date, 'yyyy-MM-dd' ));
$('#dialog-form #CheckboxGroup1_0').after($.fullCalendar.formatDate( date, 'yyyy-MM-dd' ));
$('#dialog-form').dialog('open');


}//else

  }`

Я знаю, что это немного грубо, и было бы лучше закрыть диалог об успешной вставке в этот блок кода, но пока он работает более или менее.

фактическая вставка вызывается с помощью кнопки диалога. Вот код:

`$ ( "Диалог-форма #"). Диалог ({ autoOpen: false, высота: 900, ширина: 860, модальный: правда, beforeclose: $ ("# форма диалогового окна"). clearForm (), кнопки: { 'Inserisci lezione': function () {

 allFields.removeClass('ui-state-error');

 $.post("smfn_set_event.php", { idaula:$("#dialog-form #idaula").val(), dal:$("#dialog-form  #pdal").val(), dalle:$("#dialog-form  #pdalle").val(), alle:$("#dialog-form #palle").val(), idutente:$("#dialog-form  #idutente").val(), motivo:$("#dialog-form  #motivo").val(), nota:$("#dialog-form  #nota").val() },

функция (datainsert) { alert ("Сообщение вернулось:" + вставка данных); }); $ ( '# Календарь') fullCalendar ( 'refetchEvents'). $ ('# calendar'). fullCalendar ('render'); $ (Это) .dialog ( 'уничтожить'); $ (Это) .dialog ( 'закрыть');

},`

Биты clearForm и destroy являются попыткой не заполнять поля формы последними введенными значениями. К сожалению, теперь диалог больше не открывается.

Что-то явно не так в этом коде?

Спасибо.

1 Ответ

0 голосов
/ 24 августа 2010
$(this).dialog('destroy') 
  • Полностью удалить функциональность диалога.Это вернет элемент обратно в его состояние перед инициализацией.(http://jqueryui.com/demos/dialog/)

Итак, когда вы пытаетесь

$('#dialog-form').dialog('open'); 

после уничтожения - ничего не происходит. Вы должны закрывать диалог только после вставки.

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