Как обновить календарь базы данных PHP после использования jQuery drag and drop? - PullRequest
3 голосов
/ 19 января 2010

У меня есть календарь, построенный с использованием PHP, с событиями на нем.

Я использую пользовательский интерфейс jQuery для включения перетаскивания для перемещения событий. Функция .droppable () имеет функцию обратного вызова, которая обновляет базу данных новой информацией. Но календарь необходимо обновить так, чтобы он читал из новых значений базы данных.

Можете ли вы принудительно обновить страницу с помощью jQuery? Или есть лучший способ сделать это?

Ответы [ 4 ]

1 голос
/ 20 января 2010

Может быть, это то, что вы хотите?

$("div.myCalendarCell").droppable({
    addClasses: false,
    accept: "div.myEvents",
    activeClass: "active",
    hoverClass: "hover",
    drop: function(event,ui) {  
        var myFormData = $(this).find("form.myEventFormData").serialize();
        $(this).load("php/myEventManager.php",{"myFormData":myFormData},function(e){
            alert("updated");
        });
    }
});
1 голос
/ 19 января 2010

Вы можете сделать ajax-вызов функции php, которая перестраивает календарь после обновления базы данных.

.droppable(function(){

  $('#calendar').load('scriptname.php', {variable1: 'var1', etc...});

});
0 голосов
/ 19 января 2010

Если вы изменяете базу данных без обновления, это значит, что вы делаете HTTPXmlRequest где-то по пути ... почему бы не узнать, можете ли вы получить этот запрос, чтобы вернуть изменения, и обновить его в браузере? 1001 *

... потому что, если вы хотите обновить страницу, вы должны были использовать отправку <form>, нет? И поскольку вы этого не сделали, у меня возникает ощущение, что вы хотите Ajax Action от Sweet Rich-UI, а в основе принципов Ajax Action от Sweet Rich-UI лежит «без обновления».

0 голосов
/ 19 января 2010

location.reload (true) - это вызов, который вы ищете.

$('.selector').droppable({
   drop: function(event, ui) { location.reload(true); }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...